1 #include <gtest/gtest.h> 7 #include <sensor_msgs/JointState.h> 15 class testEEInterface:
public ::testing::Test {
23 virtual ~testEEInterface() {
26 virtual void SetUp() {
33 "ROSEE/actions/test_ee" 35 p.printEndEffectorFingerJointsMap();
37 ee = std::make_shared<ROSEE::EEInterface>(p);
40 virtual void TearDown() {
47 TEST_F ( testEEInterface, checkFingers ) {
49 std::vector<std::string> fingers;
50 fingers = ee->getFingers();
55 for (
auto& f : fingers ) {
67 TEST_F ( testEEInterface, checkActuatedJointsNum ) {
69 int joint_num = ee->getActuatedJointsNum();
76 TEST_F ( testEEInterface, checkEEFingerJoints ) {
78 int joint_num_finger1 = ee->getActuatedJointsNumInFinger(
"finger_1");
80 int joint_num = ee->getActuatedJointsNum();
84 int joint_num_counter = 0;
85 std::vector<std::string> fingers = ee->getFingers();
89 for (
auto& f : fingers ) {
90 joint_num_counter += ee->getActuatedJointsNumInFinger(f);
97 TEST_F ( testEEInterface, checkJointLimits) {
99 Eigen::VectorXd upperLimits = ee->getUpperPositionLimits();
100 Eigen::VectorXd lowerLimits = ee->getLowerPositionLimits();
102 ASSERT_EQ (upperLimits.size(), lowerLimits.size());
106 for (
int i=0; i<upperLimits.size(); i++) {
108 EXPECT_GE (upperLimits(i), lowerLimits(i));
110 upperLimits(i) <<
", " << lowerLimits(i) );
116 TEST_F ( testEEInterface, checkIdJoints ) {
118 std::vector<std::string> actJoints = ee->getActuatedJoints();
124 for (
auto& j : actJoints ) {
126 EXPECT_NE (
id, idPrevious );
134 int main (
int argc,
char **argv ) {
138 std::cout <<
"[TEST ERROR] Insert hand name as argument" << std::endl;
143 if(setenv(
"ROS_MASTER_URI",
"http://localhost:11322", 1) == -1)
150 std::unique_ptr<ROSEE::TestUtils::Process> roscore;
155 std::cout <<
"[TEST ERROR] Prepare Funcion failed" << std::endl;
159 ::testing::InitGoogleTest ( &argc, argv );
160 return RUN_ALL_TESTS();
std::shared_ptr< EEInterface > Ptr
int main(int argc, char **argv)
#define EXPECT_FALSE(args)
int prepareROSForTests(int argc, char **argv, std::string testName)
Function to be called in the main of each test, it runs roscore and fill parameter server with robot ...
Class responsible for parsing the YAML file providing the URDF, SRDF, the EE-HAL library implementati...
#define ROS_INFO_STREAM(args)
static std::string getPackagePath()
#define EXPECT_TRUE(args)
TEST_F(TestRunner, threaded_test)