62 lines
2.5 KiB
C++
62 lines
2.5 KiB
C++
/**
|
|
* @file test_bld_enums.cpp
|
|
* @brief Verhaltenstests für die generierten Buildings-Enumerationen
|
|
*
|
|
* Diese Tests prüfen den von rtiddsgen aus bld_enums.idl generierten Header
|
|
* (Lts/Proxies/Buildings/bld_enums.hpp) aus dem Build-Tree. Die frühere
|
|
* CONFIGURE_FILE-Stub-Kopie (BuildingType/BuildingStatus/BuildingInfo) wurde
|
|
* entfernt, da sie bei jedem CMake-Reconfigure die echten generierten
|
|
* Enumerationen überschrieben hat.
|
|
*/
|
|
|
|
#include "Buildings/bld_enums.hpp"
|
|
|
|
#include <gtest/gtest.h>
|
|
#include <type_traits>
|
|
|
|
/**
|
|
* @test EffectTypeEnum muss mit den Werten aus bld_enums.idl generiert werden.
|
|
*/
|
|
TEST(bld_enums_Generated, EffectTypeEnumValues)
|
|
{
|
|
static_assert(std::is_enum<::Buildings::EffectTypeEnum>::value,
|
|
"EffectTypeEnum muss aus bld_enums.hpp vorliegen");
|
|
static_assert(static_cast<int32_t>(::Buildings::EffectTypeEnum::Undefined) == 0,
|
|
"EffectTypeEnum::Undefined muss 0 sein");
|
|
static_assert(static_cast<int32_t>(::Buildings::EffectTypeEnum::Relay) == 1,
|
|
"EffectTypeEnum::Relay muss 1 sein");
|
|
static_assert(static_cast<int32_t>(::Buildings::EffectTypeEnum::BackgroundSound) == 2,
|
|
"EffectTypeEnum::BackgroundSound muss 2 sein");
|
|
static_assert(static_cast<int32_t>(::Buildings::EffectTypeEnum::BsmFlash) == 3,
|
|
"EffectTypeEnum::BsmFlash muss 3 sein");
|
|
EXPECT_TRUE(true);
|
|
}
|
|
|
|
/**
|
|
* @test StateSetRelay muss mit den Werten aus bld_enums.idl generiert werden.
|
|
*/
|
|
TEST(bld_enums_Generated, StateSetRelayValues)
|
|
{
|
|
static_assert(std::is_enum<::Buildings::StateSetRelay>::value,
|
|
"StateSetRelay muss aus bld_enums.hpp vorliegen");
|
|
static_assert(static_cast<int32_t>(::Buildings::StateSetRelay::SwitchOff) == 0,
|
|
"StateSetRelay::SwitchOff muss 0 sein");
|
|
static_assert(static_cast<int32_t>(::Buildings::StateSetRelay::SwitchOn) == 1,
|
|
"StateSetRelay::SwitchOn muss 1 sein");
|
|
static_assert(static_cast<int32_t>(::Buildings::StateSetRelay::Pulse) == 2,
|
|
"StateSetRelay::Pulse muss 2 sein");
|
|
static_assert(static_cast<int32_t>(::Buildings::StateSetRelay::GetState) == 3,
|
|
"StateSetRelay::GetState muss 3 sein");
|
|
EXPECT_TRUE(true);
|
|
}
|
|
|
|
/**
|
|
* @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt.
|
|
*/
|
|
TEST(bld_enums_Generated, MultipleIncludeGuard)
|
|
{
|
|
// Including the header multiple times should not cause errors
|
|
#include "Buildings/bld_enums.hpp"
|
|
EXPECT_TRUE(true);
|
|
}
|