Loading Medicina/Servers/MedicinaMinorServo/test/Makefile 0 → 100644 +90 −0 Original line number Diff line number Diff line # CPP UNIT TESTING SETUP #-------------- GTEST_HOME=/usr/local/include/gtest GMOCK_HOME=/usr/local/include/gmock GTEST_LIBS=gtest gtest_main USER_INC=-I$(GTEST_HOME) -I$(GMOCK_HOME) USER_LIBS=C++ pthread # END OF CPP UNIT TESTING SETUP #--------------------- # DEFINE YOUR CPP UNIT TEST EXECUTABLES HERE as: # # EXECTUABLES_L = unittest # unittest_OBJECTS = unittest # unittest_LIBS = $(GTEST_LIBS) <ComponentNameImpl> EXECUTABLES_L = unittest unittest_OBJECTS = unittest #MedMinorServoGeometry MedMinorServoTime PositionQueue unittest_LIBS = $(GTEST_LIBS) MinorServoBossImpl IRALibrary boost_thread # END OF CUSTOMIZATION # do not edit below this line #---------------------------- CSOURCENAMES = \ $(foreach exe, $(EXECUTABLES) $(EXECUTABLES_L), $($(exe)_OBJECTS)) \ $(foreach rtos, $(RTAI_MODULES) , $($(rtos)_OBJECTS)) \ $(foreach lib, $(LIBRARIES) $(LIBRARIES_L), $($(lib)_OBJECTS)) MAKEDIRTMP := $(shell searchFile include/acsMakefile) ifneq ($(MAKEDIRTMP),\#error\#) MAKEDIR := $(MAKEDIRTMP)/include include $(MAKEDIR)/acsMakefile endif # TEST TARGETS #TODO: unittest(2) discover pyunit do_unit: all @echo "running cpp unit tests" ../bin/unittest --gtest_output=xml:results/cppunittest.xml do_pyunit: @echo "running python unit tests" python -m unittest pyunit do_functional: @echo "running python functional tests" python -m unittest functional do_external: @echo "running python external tests" python -m unittest external clean_test: rm -f results/*.xml rm -f functional/*.pyc rm -f pyunit/*.pyc rm -f external/*.pyc unit: do_unit @echo " . . . 'unit' done" pyunit: do_pyunit @echo " . . . 'pyunit' done" functional: do_functional @echo " . . . 'functional' done" external: do_external @echo " . . . 'external' done" # TARGETS # ------- all: do_all @echo " . . . 'all' done" clean : clean_all clean_test @echo " . . . clean done" clean_dist : clean_all clean_dist_all clean_test @echo " . . . clean_dist done" man : do_man @echo " . . . man page(s) done" install : install_all @echo " . . . installation done" Medicina/Servers/MedicinaMinorServo/test/external/__init__.py 0 → 100644 +0 −0 Empty file added. Medicina/Servers/MedicinaMinorServo/test/functional/__init__.py 0 → 100644 +0 −0 Empty file added. Medicina/Servers/MedicinaMinorServo/test/pyunit/__init__.py 0 → 100644 +0 −0 Empty file added. Medicina/Servers/MedicinaMinorServo/test/unittest.cpp 0 → 100644 +86 −0 Original line number Diff line number Diff line #include "gtest/gtest.h" #include <IRA> #include <DateTime.h> #include "MedMinorServoProtocol.hpp" #include "MedMinorServoGeometry.hpp" #include "PositionQueue.hpp" #include "MedMinorServoTime.hpp" #include "testutils.hpp" class TestPosition : public ::testing::Test { public: TestPosition(); MedMinorServoPosition primary, offset, secondary; }; TestPosition::TestPosition() : primary(10, 10, 10, 10, 10, MED_MINOR_SERVO_PRIMARY, 10), offset(1,1,1,1,1,MED_MINOR_SERVO_OFFSET, 10), secondary(10, 10, 10, 10, 10, MED_MINOR_SERVO_SECONDARY, 10) {} TEST_F(TestPosition, creation){ ASSERT_EQ(primary.x, 10); ASSERT_EQ(primary.y, 10); ASSERT_EQ(primary.z, 10); ASSERT_EQ(primary.theta_x, 10); ASSERT_EQ(primary.theta_y, 10); ASSERT_EQ(primary.mode, MED_MINOR_SERVO_PRIMARY); ASSERT_EQ(primary.time, 10); } TEST_F(TestPosition, copy) { //test copy, also for simmetry and transitivity MedMinorServoPosition copied = primary; ASSERT_EQ(primary, copied); ASSERT_EQ(copied, primary); MedMinorServoPosition recopied(copied); ASSERT_EQ(primary, recopied); } TEST_F(TestPosition, sum) { MedMinorServoPosition sum = primary + offset; ASSERT_EQ(sum.x, 11); ASSERT_EQ(sum.y, 11); ASSERT_EQ(sum.z, 11); ASSERT_EQ(sum.theta_x, 11); ASSERT_EQ(sum.theta_y, 11); ASSERT_EQ(sum.mode, MED_MINOR_SERVO_PRIMARY); } TEST_F(TestPosition, difference) { MedMinorServoPosition diff = primary - offset; ASSERT_EQ(diff.x, 9); ASSERT_EQ(diff.y, 9); ASSERT_EQ(diff.z, 9); ASSERT_EQ(diff.theta_x, 9); ASSERT_EQ(diff.theta_y, 9); ASSERT_EQ(diff.mode, MED_MINOR_SERVO_PRIMARY); } TEST_F(TestPosition, scale) { double scale = 3; MedMinorServoPosition scaled= primary * scale; ASSERT_EQ(scaled.x, 30); ASSERT_EQ(scaled.y, 30); ASSERT_EQ(scaled.z, 30); ASSERT_EQ(scaled.theta_x, 30); ASSERT_EQ(scaled.theta_y, 30); ASSERT_EQ(scaled.mode, MED_MINOR_SERVO_PRIMARY); } TEST_F(TestPosition, interpolation) { MedMinorServoPosition primary2(20,20,20,20,20,MED_MINOR_SERVO_PRIMARY, 20); MedMinorServoPosition interpolated = MedMinorServoGeometry::interpolate(primary, primary2, 14); MedMinorServoPosition expected(14,14,14,14,14,MED_MINOR_SERVO_PRIMARY, 14); ASSERT_EQ(interpolated, expected); } Loading
Medicina/Servers/MedicinaMinorServo/test/Makefile 0 → 100644 +90 −0 Original line number Diff line number Diff line # CPP UNIT TESTING SETUP #-------------- GTEST_HOME=/usr/local/include/gtest GMOCK_HOME=/usr/local/include/gmock GTEST_LIBS=gtest gtest_main USER_INC=-I$(GTEST_HOME) -I$(GMOCK_HOME) USER_LIBS=C++ pthread # END OF CPP UNIT TESTING SETUP #--------------------- # DEFINE YOUR CPP UNIT TEST EXECUTABLES HERE as: # # EXECTUABLES_L = unittest # unittest_OBJECTS = unittest # unittest_LIBS = $(GTEST_LIBS) <ComponentNameImpl> EXECUTABLES_L = unittest unittest_OBJECTS = unittest #MedMinorServoGeometry MedMinorServoTime PositionQueue unittest_LIBS = $(GTEST_LIBS) MinorServoBossImpl IRALibrary boost_thread # END OF CUSTOMIZATION # do not edit below this line #---------------------------- CSOURCENAMES = \ $(foreach exe, $(EXECUTABLES) $(EXECUTABLES_L), $($(exe)_OBJECTS)) \ $(foreach rtos, $(RTAI_MODULES) , $($(rtos)_OBJECTS)) \ $(foreach lib, $(LIBRARIES) $(LIBRARIES_L), $($(lib)_OBJECTS)) MAKEDIRTMP := $(shell searchFile include/acsMakefile) ifneq ($(MAKEDIRTMP),\#error\#) MAKEDIR := $(MAKEDIRTMP)/include include $(MAKEDIR)/acsMakefile endif # TEST TARGETS #TODO: unittest(2) discover pyunit do_unit: all @echo "running cpp unit tests" ../bin/unittest --gtest_output=xml:results/cppunittest.xml do_pyunit: @echo "running python unit tests" python -m unittest pyunit do_functional: @echo "running python functional tests" python -m unittest functional do_external: @echo "running python external tests" python -m unittest external clean_test: rm -f results/*.xml rm -f functional/*.pyc rm -f pyunit/*.pyc rm -f external/*.pyc unit: do_unit @echo " . . . 'unit' done" pyunit: do_pyunit @echo " . . . 'pyunit' done" functional: do_functional @echo " . . . 'functional' done" external: do_external @echo " . . . 'external' done" # TARGETS # ------- all: do_all @echo " . . . 'all' done" clean : clean_all clean_test @echo " . . . clean done" clean_dist : clean_all clean_dist_all clean_test @echo " . . . clean_dist done" man : do_man @echo " . . . man page(s) done" install : install_all @echo " . . . installation done"
Medicina/Servers/MedicinaMinorServo/test/unittest.cpp 0 → 100644 +86 −0 Original line number Diff line number Diff line #include "gtest/gtest.h" #include <IRA> #include <DateTime.h> #include "MedMinorServoProtocol.hpp" #include "MedMinorServoGeometry.hpp" #include "PositionQueue.hpp" #include "MedMinorServoTime.hpp" #include "testutils.hpp" class TestPosition : public ::testing::Test { public: TestPosition(); MedMinorServoPosition primary, offset, secondary; }; TestPosition::TestPosition() : primary(10, 10, 10, 10, 10, MED_MINOR_SERVO_PRIMARY, 10), offset(1,1,1,1,1,MED_MINOR_SERVO_OFFSET, 10), secondary(10, 10, 10, 10, 10, MED_MINOR_SERVO_SECONDARY, 10) {} TEST_F(TestPosition, creation){ ASSERT_EQ(primary.x, 10); ASSERT_EQ(primary.y, 10); ASSERT_EQ(primary.z, 10); ASSERT_EQ(primary.theta_x, 10); ASSERT_EQ(primary.theta_y, 10); ASSERT_EQ(primary.mode, MED_MINOR_SERVO_PRIMARY); ASSERT_EQ(primary.time, 10); } TEST_F(TestPosition, copy) { //test copy, also for simmetry and transitivity MedMinorServoPosition copied = primary; ASSERT_EQ(primary, copied); ASSERT_EQ(copied, primary); MedMinorServoPosition recopied(copied); ASSERT_EQ(primary, recopied); } TEST_F(TestPosition, sum) { MedMinorServoPosition sum = primary + offset; ASSERT_EQ(sum.x, 11); ASSERT_EQ(sum.y, 11); ASSERT_EQ(sum.z, 11); ASSERT_EQ(sum.theta_x, 11); ASSERT_EQ(sum.theta_y, 11); ASSERT_EQ(sum.mode, MED_MINOR_SERVO_PRIMARY); } TEST_F(TestPosition, difference) { MedMinorServoPosition diff = primary - offset; ASSERT_EQ(diff.x, 9); ASSERT_EQ(diff.y, 9); ASSERT_EQ(diff.z, 9); ASSERT_EQ(diff.theta_x, 9); ASSERT_EQ(diff.theta_y, 9); ASSERT_EQ(diff.mode, MED_MINOR_SERVO_PRIMARY); } TEST_F(TestPosition, scale) { double scale = 3; MedMinorServoPosition scaled= primary * scale; ASSERT_EQ(scaled.x, 30); ASSERT_EQ(scaled.y, 30); ASSERT_EQ(scaled.z, 30); ASSERT_EQ(scaled.theta_x, 30); ASSERT_EQ(scaled.theta_y, 30); ASSERT_EQ(scaled.mode, MED_MINOR_SERVO_PRIMARY); } TEST_F(TestPosition, interpolation) { MedMinorServoPosition primary2(20,20,20,20,20,MED_MINOR_SERVO_PRIMARY, 20); MedMinorServoPosition interpolated = MedMinorServoGeometry::interpolate(primary, primary2, 14); MedMinorServoPosition expected(14,14,14,14,14,MED_MINOR_SERVO_PRIMARY, 14); ASSERT_EQ(interpolated, expected); }