/** * @file test_asm_enums.cpp * @brief Verhaltenstests für die generierten AssetManagement-Enumerationen * * Diese Tests prüfen den von rtiddsgen aus asm_enums.idl generierten Header * (Lts/Services/AssetManagement/asm_enums.hpp) aus dem Build-Tree. * Die Werte stammen aus asm_service.xml (MapType, ShutdownAction, AssetType). */ #include "Lts/Services/AssetManagement/asm_enums.hpp" #include #include /** * @test MapType muss mit den Werten aus asm_enums.idl generiert werden. */ TEST(AsmEnumsTest, MapTypeValues) { static_assert(std::is_enum<::AssetManagement::MapType>::value, "MapType muss aus asm_enums.hpp vorliegen"); EXPECT_EQ(static_cast(::AssetManagement::MapType::Unknown), 0); EXPECT_EQ(static_cast(::AssetManagement::MapType::Topographic), 1); EXPECT_EQ(static_cast(::AssetManagement::MapType::Aerial), 2); EXPECT_EQ(static_cast(::AssetManagement::MapType::Feature), 3); EXPECT_EQ(static_cast(::AssetManagement::MapType::Elevation), 4); EXPECT_EQ(static_cast(::AssetManagement::MapType::SceneObjects), 5); } /** * @test ShutdownAction muss mit den Werten aus asm_enums.idl generiert werden. */ TEST(AsmEnumsTest, ShutdownActionValues) { static_assert(std::is_enum<::AssetManagement::ShutdownAction>::value, "ShutdownAction muss aus asm_enums.hpp vorliegen"); EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::NoAction), 0); EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::Logout), 1); EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::Shutdown), 2); EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::Reboot), 3); } /** * @test AssetType muss mit den Werten aus asm_enums.idl generiert werden. */ TEST(AsmEnumsTest, AssetTypeValues) { static_assert(std::is_enum<::AssetManagement::AssetType>::value, "AssetType muss aus asm_enums.hpp vorliegen"); EXPECT_EQ(static_cast(::AssetManagement::AssetType::Unknown), 0); EXPECT_EQ(static_cast(::AssetManagement::AssetType::Workstation), 1); EXPECT_EQ(static_cast(::AssetManagement::AssetType::Printer), 2); EXPECT_EQ(static_cast(::AssetManagement::AssetType::Beamer), 3); EXPECT_EQ(static_cast(::AssetManagement::AssetType::ProjectionWorkstation), 4); EXPECT_EQ(static_cast(::AssetManagement::AssetType::MobileAfterActionVehicle), 5); EXPECT_EQ(static_cast(::AssetManagement::AssetType::AdlerSAA), 6); }