GCC Code Coverage Report


Directory: ./
File: unittest/factory/state.cpp
Date: 2025-06-03 08:14:12
Exec Total Coverage
Lines: 0 66 0.0%
Functions: 0 4 0.0%
Branches: 0 63 0.0%

Line Branch Exec Source
1 ///////////////////////////////////////////////////////////////////////////////
2 // BSD 3-Clause License
3 //
4 // Copyright (C) 2019-2025, LAAS-CNRS, University of Edinburgh,
5 // Heriot-Watt University
6 // Copyright note valid unless otherwise stated in individual files.
7 // All rights reserved.
8 ///////////////////////////////////////////////////////////////////////////////
9
10 #include "state.hpp"
11
12 #include <pinocchio/fwd.hpp>
13 #include <pinocchio/parsers/sample-models.hpp>
14 #include <pinocchio/parsers/urdf.hpp>
15
16 #include "crocoddyl/core/states/euclidean.hpp"
17 #include "crocoddyl/multibody/states/multibody.hpp"
18
19 namespace crocoddyl {
20 namespace unittest {
21
22 const std::vector<StateModelTypes::Type> StateModelTypes::all(
23 StateModelTypes::init_all());
24
25 ✗ std::ostream& operator<<(std::ostream& os, StateModelTypes::Type type) {
26 ✗ switch (type) {
27 ✗ case StateModelTypes::StateVector:
28 ✗ os << "StateVector";
29 ✗ break;
30 ✗ case StateModelTypes::StateMultibody_Hector:
31 ✗ os << "StateMultibody_Hector";
32 ✗ break;
33 ✗ case StateModelTypes::StateMultibody_TalosArm:
34 ✗ os << "StateMultibody_TalosArm";
35 ✗ break;
36 ✗ case StateModelTypes::StateMultibodyContact2D_TalosArm:
37 ✗ os << "StateMultibodyContact2D_TalosArm";
38 ✗ break;
39 ✗ case StateModelTypes::StateMultibody_HyQ:
40 ✗ os << "StateMultibody_HyQ";
41 ✗ break;
42 ✗ case StateModelTypes::StateMultibody_Talos:
43 ✗ os << "StateMultibody_Talos";
44 ✗ break;
45 ✗ case StateModelTypes::StateMultibody_RandomHumanoid:
46 ✗ os << "StateMultibody_RandomHumanoid";
47 ✗ break;
48 ✗ case StateModelTypes::NbStateModelTypes:
49 ✗ os << "NbStateModelTypes";
50 ✗ break;
51 ✗ default:
52 ✗ break;
53 }
54 ✗ return os;
55 }
56
57 ✗ StateModelFactory::StateModelFactory() {}
58 ✗ StateModelFactory::~StateModelFactory() {}
59
60 ✗ std::shared_ptr<crocoddyl::StateAbstract> StateModelFactory::create(
61 StateModelTypes::Type state_type) const {
62 ✗ std::shared_ptr<pinocchio::Model> model;
63 ✗ std::shared_ptr<crocoddyl::StateAbstract> state;
64 ✗ switch (state_type) {
65 ✗ case StateModelTypes::StateVector:
66 ✗ state = std::make_shared<crocoddyl::StateVector>(80);
67 ✗ break;
68 ✗ case StateModelTypes::StateMultibody_Hector:
69 ✗ model = PinocchioModelFactory(PinocchioModelTypes::Hector).create();
70 ✗ state = std::make_shared<crocoddyl::StateMultibody>(model);
71 ✗ break;
72 ✗ case StateModelTypes::StateMultibody_TalosArm:
73 ✗ model = PinocchioModelFactory(PinocchioModelTypes::TalosArm).create();
74 ✗ state = std::make_shared<crocoddyl::StateMultibody>(model);
75 ✗ break;
76 ✗ case StateModelTypes::StateMultibodyContact2D_TalosArm:
77 ✗ model = PinocchioModelFactory(PinocchioModelTypes::TalosArm).create();
78 ✗ state = std::make_shared<crocoddyl::StateMultibody>(model);
79 ✗ break;
80 ✗ case StateModelTypes::StateMultibody_HyQ:
81 ✗ model = PinocchioModelFactory(PinocchioModelTypes::HyQ).create();
82 ✗ state = std::make_shared<crocoddyl::StateMultibody>(model);
83 ✗ break;
84 ✗ case StateModelTypes::StateMultibody_Talos:
85 ✗ model = PinocchioModelFactory(PinocchioModelTypes::Talos).create();
86 ✗ state = std::make_shared<crocoddyl::StateMultibody>(model);
87 ✗ break;
88 ✗ case StateModelTypes::StateMultibody_RandomHumanoid:
89 model =
90 ✗ PinocchioModelFactory(PinocchioModelTypes::RandomHumanoid).create();
91 ✗ state = std::make_shared<crocoddyl::StateMultibody>(model);
92 ✗ break;
93 ✗ default:
94 ✗ throw_pretty(__FILE__ ": Wrong StateModelTypes::Type given");
95 break;
96 }
97 ✗ return state;
98 ✗ }
99
100 } // namespace unittest
101 } // namespace crocoddyl
102