Loading SRT/Libraries/SRTMinorServoLibrary/src/SRTMinorServoCommandLibrary.cpp +4 −8 Original line number Diff line number Diff line Loading @@ -115,15 +115,11 @@ SRTMinorServoAnswerMap SRTMinorServoCommandLibrary::parseAnswer(std::string answ if(value.empty()) { if(args.find("TIMESTAMP") != args.end()) // Timestamp already found, some other value is missing { value = "0"; } else { throw std::invalid_argument(std::string("Missing key for value " + value)); value = key; key = "TIMESTAMP"; } } if(key == "OUTPUT") { Loading SRT/Libraries/SRTMinorServoLibrary/tests/unittest.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -28,28 +28,29 @@ TEST(SRTMinorServoCommandLibraryTest, stop) TEST(SRTMinorServoCommandLibraryTest, preset) { EXPECT_EQ(SRTMinorServoCommandLibrary::preset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "PRESET=PFP,0,1,2,3,4,5\r\n"); EXPECT_EQ(SRTMinorServoCommandLibrary::preset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "PRESET=PFP,0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"); } TEST(SRTMinorServoCommandLibraryTest, programTrack) { double start_time = CIRATools::getUNIXEpoch() + 3; unsigned long int trajectory_id = (unsigned long int)(start_time * 1000); unsigned long int trajectory_id = (unsigned long int)start_time; std::stringstream expected_answer; expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << ",0," << trajectory_id << ",0,1,2,3,4,5\r\n"; expected_answer << std::fixed << std::setprecision(6); expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << ",0," << start_time << ",0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"; EXPECT_EQ(SRTMinorServoCommandLibrary::programTrack("PFP", trajectory_id, 0, std::vector<double>{0.,1.,2.,3.,4.,5.}, start_time), expected_answer.str()); for(unsigned int i = 1; i < 10; i++) { expected_answer.str(std::string()); expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << "," << i << ",*,0,1,2,3,4,5\r\n"; expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << "," << i << ",*,0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"; EXPECT_EQ(SRTMinorServoCommandLibrary::programTrack("PFP", trajectory_id, i, std::vector<double>{0.,1.,2.,3.,4.,5.}), expected_answer.str()); } } TEST(SRTMinorServoCommandLibraryTest, offset) { EXPECT_EQ(SRTMinorServoCommandLibrary::offset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "OFFSET=PFP,0,1,2,3,4,5\r\n"); EXPECT_EQ(SRTMinorServoCommandLibrary::offset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "OFFSET=PFP,0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"); } TEST(SRTMinorServoCommandLibraryTest, parseAnswer) Loading @@ -66,15 +67,15 @@ TEST(SRTMinorServoCommandLibraryTest, parseAnswer) args.clear(); args["OUTPUT"] = "GOOD"; args["TIMESTAMP"] = 1665743366.123456; args["CURRENT_CONFIG"] = 21; args["SIMULATION_ENABLED"] = 34; args["PLC_TIME"] = 78; args["PLC_VERSION"] = 69; args["CONTROL"] = 14; args["POWER"] = 38; args["EMERGENCY"] = 69; args["ENABLED"] = 51; args["OPERATIVE_MODE"] = 94; args["CURRENT_CONFIG"] = (long)21; args["SIMULATION_ENABLED"] = (long)34; args["PLC_TIME"] = (long)78; args["PLC_VERSION"] = (long)69; args["CONTROL"] = (long)14; args["POWER"] = (long)38; args["EMERGENCY"] = (long)69; args["ENABLED"] = (long)51; args["OPERATIVE_MODE"] = (long)94; EXPECT_EQ(SRTMinorServoCommandLibrary::parseAnswer(answer), args); // Missing timestamp Loading Loading
SRT/Libraries/SRTMinorServoLibrary/src/SRTMinorServoCommandLibrary.cpp +4 −8 Original line number Diff line number Diff line Loading @@ -115,15 +115,11 @@ SRTMinorServoAnswerMap SRTMinorServoCommandLibrary::parseAnswer(std::string answ if(value.empty()) { if(args.find("TIMESTAMP") != args.end()) // Timestamp already found, some other value is missing { value = "0"; } else { throw std::invalid_argument(std::string("Missing key for value " + value)); value = key; key = "TIMESTAMP"; } } if(key == "OUTPUT") { Loading
SRT/Libraries/SRTMinorServoLibrary/tests/unittest.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -28,28 +28,29 @@ TEST(SRTMinorServoCommandLibraryTest, stop) TEST(SRTMinorServoCommandLibraryTest, preset) { EXPECT_EQ(SRTMinorServoCommandLibrary::preset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "PRESET=PFP,0,1,2,3,4,5\r\n"); EXPECT_EQ(SRTMinorServoCommandLibrary::preset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "PRESET=PFP,0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"); } TEST(SRTMinorServoCommandLibraryTest, programTrack) { double start_time = CIRATools::getUNIXEpoch() + 3; unsigned long int trajectory_id = (unsigned long int)(start_time * 1000); unsigned long int trajectory_id = (unsigned long int)start_time; std::stringstream expected_answer; expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << ",0," << trajectory_id << ",0,1,2,3,4,5\r\n"; expected_answer << std::fixed << std::setprecision(6); expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << ",0," << start_time << ",0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"; EXPECT_EQ(SRTMinorServoCommandLibrary::programTrack("PFP", trajectory_id, 0, std::vector<double>{0.,1.,2.,3.,4.,5.}, start_time), expected_answer.str()); for(unsigned int i = 1; i < 10; i++) { expected_answer.str(std::string()); expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << "," << i << ",*,0,1,2,3,4,5\r\n"; expected_answer << "PROGRAMTRACK=PFP," << trajectory_id << "," << i << ",*,0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"; EXPECT_EQ(SRTMinorServoCommandLibrary::programTrack("PFP", trajectory_id, i, std::vector<double>{0.,1.,2.,3.,4.,5.}), expected_answer.str()); } } TEST(SRTMinorServoCommandLibraryTest, offset) { EXPECT_EQ(SRTMinorServoCommandLibrary::offset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "OFFSET=PFP,0,1,2,3,4,5\r\n"); EXPECT_EQ(SRTMinorServoCommandLibrary::offset("PFP", std::vector<double>{0.,1.,2.,3.,4.,5.}), "OFFSET=PFP,0.000000,1.000000,2.000000,3.000000,4.000000,5.000000\r\n"); } TEST(SRTMinorServoCommandLibraryTest, parseAnswer) Loading @@ -66,15 +67,15 @@ TEST(SRTMinorServoCommandLibraryTest, parseAnswer) args.clear(); args["OUTPUT"] = "GOOD"; args["TIMESTAMP"] = 1665743366.123456; args["CURRENT_CONFIG"] = 21; args["SIMULATION_ENABLED"] = 34; args["PLC_TIME"] = 78; args["PLC_VERSION"] = 69; args["CONTROL"] = 14; args["POWER"] = 38; args["EMERGENCY"] = 69; args["ENABLED"] = 51; args["OPERATIVE_MODE"] = 94; args["CURRENT_CONFIG"] = (long)21; args["SIMULATION_ENABLED"] = (long)34; args["PLC_TIME"] = (long)78; args["PLC_VERSION"] = (long)69; args["CONTROL"] = (long)14; args["POWER"] = (long)38; args["EMERGENCY"] = (long)69; args["ENABLED"] = (long)51; args["OPERATIVE_MODE"] = (long)94; EXPECT_EQ(SRTMinorServoCommandLibrary::parseAnswer(answer), args); // Missing timestamp Loading