/** * @file test_aes_enums.cpp * @brief Verhaltenstests für die generierten AreaEffectSimulation-Enumerationen * * Diese Tests prüfen den von rtiddsgen aus aes_enums.idl generierten Header * (Lts/Services/AreaEffectSimulation/aes_enums.hpp) aus dem Build-Tree. * Die Werte stammen aus aes_service.xml (z.B. AesExplosionGeometry für * Explosionsgeometrien, AesEffectState für den Effekt-Zustandsautomaten). */ #include "Lts/Services/AreaEffectSimulation/aes_enums.hpp" #include #include /** * @test AesExplosionGeometry muss mit den Werten aus aes_enums.idl generiert werden. */ TEST(AesEnumsTest, ExplosionGeometryValues) { static_assert(std::is_enum<::AreaEffectSimulation::AesExplosionGeometry>::value, "AesExplosionGeometry muss aus aes_enums.hpp vorliegen"); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgAimPoint), 0); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgRadial), 1); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgArea), 2); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgLine), 3); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgPoint), 4); } /** * @test AesEffectState muss mit den Werten aus aes_enums.idl generiert werden. */ TEST(AesEnumsTest, EffectStateValues) { static_assert(std::is_enum<::AreaEffectSimulation::AesEffectState>::value, "AesEffectState muss aus aes_enums.hpp vorliegen"); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsUnknown), 0); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsExpired), 1); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsRemoved), 2); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsCreated), 4); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsPrepared), 5); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsActivated), 6); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsPaused), 7); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsReceived), 8); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsFired), 9); EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsError), 255); } /** * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. */ TEST(AesEnumsTest, MultipleIncludeGuard) { // Including the header multiple times should not cause errors // This is implicitly tested by including it again here #include "Lts/Services/AreaEffectSimulation/aes_enums.hpp" // If we reach this point, the include guard works EXPECT_TRUE(true); }