|
32 | 32 |
|
33 | 33 | #include <ur_client_library/helpers.h> |
34 | 34 | #include <ur_client_library/exceptions.h> |
| 35 | +#include <ur_client_library/ur/datatypes.h> |
| 36 | +#include <ur_client_library/ur/version_information.h> |
35 | 37 |
|
36 | 38 | using namespace urcl; |
37 | 39 |
|
@@ -86,3 +88,52 @@ TEST(TestHelpers, splitString) |
86 | 88 | std::vector<std::string> expected = { "5", "12", "0", "1101319" }; |
87 | 89 | EXPECT_EQ(expected, splitString(version_string1, ".")); |
88 | 90 | } |
| 91 | + |
| 92 | +TEST(TestHelpers, robotSeriesFromTypeAndVersion) |
| 93 | +{ |
| 94 | + const VersionInformation cb3_version = VersionInformation::fromString("3.15.0.0"); |
| 95 | + const VersionInformation polyscope_5_version = VersionInformation::fromString("5.12.0.1101319"); |
| 96 | + const VersionInformation polyscope_x_version = VersionInformation::fromString("10.0.0.0"); |
| 97 | + |
| 98 | + // UR3/UR5/UR10: major >= 5 -> E_SERIES, otherwise CB3 |
| 99 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR3, cb3_version), RobotSeries::CB3); |
| 100 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR5, cb3_version), RobotSeries::CB3); |
| 101 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR10, cb3_version), RobotSeries::CB3); |
| 102 | + |
| 103 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR3, polyscope_5_version), RobotSeries::E_SERIES); |
| 104 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR5, polyscope_5_version), RobotSeries::E_SERIES); |
| 105 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR10, polyscope_5_version), RobotSeries::E_SERIES); |
| 106 | + |
| 107 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR3, polyscope_x_version), RobotSeries::E_SERIES); |
| 108 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR5, polyscope_x_version), RobotSeries::E_SERIES); |
| 109 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR10, polyscope_x_version), RobotSeries::E_SERIES); |
| 110 | + |
| 111 | + // UR16: major >= 5 -> E_SERIES, otherwise UNDEFINED |
| 112 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR16, polyscope_5_version), RobotSeries::E_SERIES); |
| 113 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR16, polyscope_x_version), RobotSeries::E_SERIES); |
| 114 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR16, cb3_version), RobotSeries::UNDEFINED); |
| 115 | + |
| 116 | + // UR15/UR18/UR20/UR30/UR8LONG: major >= 5 -> UR_SERIES, otherwise UNDEFINED |
| 117 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR15, polyscope_x_version), RobotSeries::UR_SERIES); |
| 118 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR18, polyscope_x_version), RobotSeries::UR_SERIES); |
| 119 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR20, polyscope_x_version), RobotSeries::UR_SERIES); |
| 120 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR30, polyscope_x_version), RobotSeries::UR_SERIES); |
| 121 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR8LONG, polyscope_x_version), RobotSeries::UR_SERIES); |
| 122 | + |
| 123 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR15, polyscope_5_version), RobotSeries::UR_SERIES); |
| 124 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR18, polyscope_5_version), RobotSeries::UR_SERIES); |
| 125 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR20, polyscope_5_version), RobotSeries::UR_SERIES); |
| 126 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR30, polyscope_5_version), RobotSeries::UR_SERIES); |
| 127 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR8LONG, polyscope_5_version), RobotSeries::UR_SERIES); |
| 128 | + |
| 129 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR15, cb3_version), RobotSeries::UNDEFINED); |
| 130 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR18, cb3_version), RobotSeries::UNDEFINED); |
| 131 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR20, cb3_version), RobotSeries::UNDEFINED); |
| 132 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR30, cb3_version), RobotSeries::UNDEFINED); |
| 133 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UR8LONG, cb3_version), RobotSeries::UNDEFINED); |
| 134 | + |
| 135 | + // UNDEFINED robot type yields UNDEFINED series |
| 136 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UNDEFINED, polyscope_5_version), RobotSeries::UNDEFINED); |
| 137 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UNDEFINED, cb3_version), RobotSeries::UNDEFINED); |
| 138 | + EXPECT_EQ(robotSeriesFromTypeAndVersion(RobotType::UNDEFINED, polyscope_x_version), RobotSeries::UNDEFINED); |
| 139 | +} |
0 commit comments