Skip to content

Commit e1262ec

Browse files
committed
Add tests with non-default actuatordata
1 parent f90cf0c commit e1262ec

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed

transmission_interface/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ if(CATKIN_ENABLE_TESTING)
105105
catkin_add_gtest(transmission_interface_test test/transmission_interface_test.cpp)
106106
target_link_libraries(transmission_interface_test ${TinyXML_LIBRARIES} ${catkin_LIBRARIES})
107107

108+
catkin_add_gtest(transmission_interface_variable_test test/transmission_interface_variable_test.cpp)
109+
target_link_libraries(transmission_interface_variable_test ${TinyXML_LIBRARIES} ${catkin_LIBRARIES})
110+
108111
catkin_add_gtest(transmission_parser_test test/transmission_parser_test.cpp)
109112
target_link_libraries(transmission_parser_test ${PROJECT_NAME}_parser ${catkin_LIBRARIES})
110113

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
#include <gmock/gmock.h>
2+
#include <string>
3+
#include <transmission_interface/simple_transmission.h>
4+
#include <transmission_interface/transmission_interface.h>
5+
#include <vector>
6+
7+
using std::vector;
8+
using std::string;
9+
using namespace transmission_interface;
10+
11+
// Floating-point value comparison threshold
12+
const double EPS = 1e-6;
13+
14+
class PositionOnlyActuatorData :public ActuatorDataContainer<PositionActuatorData>
15+
{
16+
public:
17+
bool empty() const override
18+
{
19+
return position.empty();
20+
}
21+
22+
bool hasSize(std::size_t size) const override
23+
{
24+
return (not empty() and position.size() == size);
25+
}
26+
27+
bool valid() const override
28+
{
29+
return hasValidPointers(position);
30+
}
31+
};
32+
33+
class DummyHandle : public TransmissionHandle<PositionOnlyActuatorData>
34+
{
35+
public:
36+
DummyHandle(const std::string& name,
37+
Transmission* transmission,
38+
const PositionOnlyActuatorData& actuator_data,
39+
const JointData& joint_data)
40+
: TransmissionHandle(name, transmission, actuator_data, joint_data) {}
41+
};
42+
43+
// TEST(HandlePreconditionsTest, ValidHandle)
44+
// {
45+
// double val = 0.0;
46+
// vector<double*> good_vec(1, &val);
47+
// SimpleTransmission trans(1.0);
48+
49+
// {
50+
// ActuatorData a_data;
51+
// JointData j_data;
52+
// a_data.position = good_vec;
53+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
54+
// }
55+
// {
56+
// ActuatorData a_data;
57+
// JointData j_data;
58+
// a_data.velocity = good_vec;
59+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
60+
// }
61+
// {
62+
// ActuatorData a_data;
63+
// JointData j_data;
64+
// a_data.effort = good_vec;
65+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
66+
// }
67+
// {
68+
// ActuatorData a_data;
69+
// JointData j_data;
70+
// j_data.position = good_vec;
71+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
72+
// }
73+
// {
74+
// ActuatorData a_data;
75+
// JointData j_data;
76+
// j_data.velocity = good_vec;
77+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
78+
// }
79+
// {
80+
// ActuatorData a_data;
81+
// JointData j_data;
82+
// j_data.effort = good_vec;
83+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
84+
// }
85+
// {
86+
// ActuatorData a_data;
87+
// JointData j_data;
88+
// a_data.position = good_vec;
89+
// a_data.velocity = good_vec;
90+
// a_data.effort = good_vec;
91+
// j_data.position = good_vec;
92+
// j_data.velocity = good_vec;
93+
// j_data.effort = good_vec;
94+
// EXPECT_NO_THROW(DummyHandle("trans", &trans, a_data, j_data));
95+
// }
96+
// }
97+
98+
int main(int argc, char** argv)
99+
{
100+
testing::InitGoogleTest(&argc, argv);
101+
return RUN_ALL_TESTS();
102+
}

0 commit comments

Comments
 (0)