diff --git a/source/RobotAPI/libraries/ArmarXObjects/test/ObjectIDTest.cpp b/source/RobotAPI/libraries/ArmarXObjects/test/ObjectIDTest.cpp index d14a0d60406cd4074a6ab67d79885ad9041b5914..7063ef69b2490bdea0ba91d76a2a19da6c96e057 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/test/ObjectIDTest.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/test/ObjectIDTest.cpp @@ -36,21 +36,46 @@ namespace armarx { struct Fixture { - std::vector<armarx::ObjectID> dcs + std::vector<armarx::ObjectID> dcsStringConstructor { { "Data/Class/0" }, { "Data/Class/1" }, { "Data/Class/2" } }; - armarx::ObjectID dc0 { "Data/Class/0" }; + std::vector<armarx::ObjectID> dcsFromString + { + ObjectID::FromString("Data/Class/0"), + ObjectID::FromString("Data/Class/1"), + ObjectID::FromString("Data/Class/2") + }; + std::vector<std::vector<armarx::ObjectID>*> dcs { + &dcsStringConstructor, + &dcsFromString + }; + + armarx::ObjectID dc0StringConstructor { "Data/Class/0" }; + armarx::ObjectID dc0FromString = ObjectID::FromString("Data/Class/0"); + std::vector<armarx::ObjectID*> dc0s { + &dc0StringConstructor, + &dc0FromString, + }; - std::vector<armarx::ObjectID> ots + std::vector<armarx::ObjectID> otsStringConstructor { { "Other/Type/0" }, { "Other/Type/1" }, { "Other/Type/2" } }; - armarx::ObjectID ot0 { "Other/Type/0" }; + std::vector<armarx::ObjectID> otsFromString + { + ObjectID::FromString("Other/Type/0"), + ObjectID::FromString("Other/Type/1"), + ObjectID::FromString("Other/Type/2") + }; + std::vector<std::vector<armarx::ObjectID>*> ots { + &otsStringConstructor, + &otsFromString + }; }; } @@ -58,29 +83,44 @@ BOOST_FIXTURE_TEST_SUITE(ObjectIDTests, armarx::Fixture) BOOST_AUTO_TEST_CASE(test_construction_from_string) { - for (std::size_t i = 0; i < dcs.size(); ++i) + for (const auto* dc : dcs) { - BOOST_CHECK_EQUAL(dcs[i].dataset(), "Data"); - BOOST_CHECK_EQUAL(dcs[i].className(), "Class"); - BOOST_CHECK_EQUAL(dcs[i].instanceName(), std::to_string(i)); + for (const auto* ot : ots) + { + for (std::size_t i = 0; i < dc->size(); ++i) + { + BOOST_CHECK_EQUAL((*dc)[i].dataset(), "Data"); + BOOST_CHECK_EQUAL((*dc)[i].className(), "Class"); + BOOST_CHECK_EQUAL((*dc)[i].instanceName(), std::to_string(i)); - BOOST_CHECK_EQUAL(ots[i].dataset(), "Other"); - BOOST_CHECK_EQUAL(ots[i].className(), "Type"); - BOOST_CHECK_EQUAL(ots[i].instanceName(), std::to_string(i)); + BOOST_CHECK_EQUAL((*ot)[i].dataset(), "Other"); + BOOST_CHECK_EQUAL((*ot)[i].className(), "Type"); + BOOST_CHECK_EQUAL((*ot)[i].instanceName(), std::to_string(i)); + } + } } } BOOST_AUTO_TEST_CASE(test_equals_operator) { - for (std::size_t i = 0; i < dcs.size(); ++i) + for (const auto* dc : dcs) { - BOOST_TEST_CONTEXT("i=" << i) + for (const auto* ot : ots) { - BOOST_CHECK_EQUAL(dcs[i], dcs[i]); - BOOST_CHECK_NE(dcs[i], ots[i]); - if (i != 0) + for (const auto* dc0 : dc0s) { - BOOST_CHECK_NE(dcs[i], dc0); + for (std::size_t i = 0; i < (*dc).size(); ++i) + { + BOOST_TEST_CONTEXT("i=" << i) + { + BOOST_CHECK_EQUAL((*dc)[i], (*dc)[i]); + BOOST_CHECK_NE((*dc)[i], (*ot)[i]); + if (i != 0) + { + BOOST_CHECK_NE((*dc)[i], *dc0); + } + } + } } } } @@ -88,16 +128,19 @@ BOOST_AUTO_TEST_CASE(test_equals_operator) BOOST_AUTO_TEST_CASE(test_less_than_operator) { - for (std::size_t i = 0; i < dcs.size(); ++i) + for (const auto* dc : dcs) { - for (std::size_t j = i; j < dcs.size(); ++j) + for (std::size_t i = 0; i < (*dc).size(); ++i) { - BOOST_CHECK_LE(dcs[i], dcs[j]); - BOOST_CHECK_GE(dcs[j], dcs[i]); - if (i != j) + for (std::size_t j = i; j < (*dc).size(); ++j) { - BOOST_CHECK_LT(dcs[i], dcs[j]); - BOOST_CHECK_GT(dcs[j], dcs[i]); + BOOST_CHECK_LE((*dc)[i], (*dc)[j]); + BOOST_CHECK_GE((*dc)[j], (*dc)[i]); + if (i != j) + { + BOOST_CHECK_LT((*dc)[i], (*dc)[j]); + BOOST_CHECK_GT((*dc)[j], (*dc)[i]); + } } } } @@ -105,15 +148,21 @@ BOOST_AUTO_TEST_CASE(test_less_than_operator) BOOST_AUTO_TEST_CASE(test_equalClass) { - for (std::size_t i = 0; i < dcs.size(); ++i) + for (const auto* dc : dcs) { - for (std::size_t j = 0; j < dcs.size(); ++j) + for (const auto* ot : ots) { - BOOST_CHECK(dcs[i].equalClass(dcs[j])); - BOOST_CHECK(ots[i].equalClass(ots[j])); - - BOOST_CHECK(!dcs[i].equalClass(ots[j])); - BOOST_CHECK(!ots[i].equalClass(dcs[j])); + for (std::size_t i = 0; i < (*dc).size(); ++i) + { + for (std::size_t j = 0; j < (*dc).size(); ++j) + { + BOOST_CHECK((*dc)[i].equalClass((*dc)[j])); + BOOST_CHECK((*ot)[i].equalClass((*ot)[j])); + + BOOST_CHECK(!(*dc)[i].equalClass((*ot)[j])); + BOOST_CHECK(!(*ot)[i].equalClass((*dc)[j])); + } + } } } }