#include #include "GeneralUtils.h" #include "eGameMasterLevel.h" #include "MessageType/Game.h" #include "MessageType/World.h" #define ASSERT_TYPE_EQ(TYPE, ENUM)\ ASSERT_TRUE(typeid(TYPE) == typeid(GeneralUtils::ToUnderlying(static_cast(0)))); #define ASSERT_TYPE_NE(TYPE, ENUM)\ ASSERT_FALSE(typeid(TYPE) == typeid(GeneralUtils::ToUnderlying(static_cast(0)))); // Verify that the underlying enum types are being cast correctly TEST(ToUnderlyingTests, VerifyToUnderlying) { ASSERT_TYPE_EQ(uint8_t, eGameMasterLevel); ASSERT_TYPE_EQ(uint16_t, MessageType::Game); ASSERT_TYPE_EQ(uint32_t, MessageType::World) ASSERT_TYPE_NE(void, eGameMasterLevel); ASSERT_TYPE_NE(void, MessageType::Game); ASSERT_TYPE_NE(void, MessageType::World) }