#include #include #include using namespace XCEngine::Resources; using namespace XCEngine::Containers; namespace { TEST(Resources_GUID, DefaultConstructor) { ResourceGUID guid; EXPECT_FALSE(guid.IsValid()); EXPECT_EQ(guid.value, 0); } TEST(Resources_GUID, ValueConstructor) { ResourceGUID guid(12345); EXPECT_TRUE(guid.IsValid()); EXPECT_EQ(guid.value, 12345); } TEST(Resources_GUID, Generate_FromCString) { ResourceGUID guid1 = ResourceGUID::Generate("textures/player.png"); ResourceGUID guid2 = ResourceGUID::Generate("textures/player.png"); EXPECT_EQ(guid1, guid2); EXPECT_TRUE(guid1.IsValid()); } TEST(Resources_GUID, Generate_FromString) { String path = "models/player.fbx"; ResourceGUID guid = ResourceGUID::Generate(path); EXPECT_TRUE(guid.IsValid()); } TEST(Resources_GUID, Generate_DifferentPaths) { ResourceGUID guid1 = ResourceGUID::Generate("textures/a.png"); ResourceGUID guid2 = ResourceGUID::Generate("textures/b.png"); EXPECT_NE(guid1, guid2); } TEST(Resources_GUID, ToString) { ResourceGUID guid(0x1234567890ABCDEF); String str = guid.ToString(); EXPECT_EQ(str.Length(), 16u); } TEST(Resources_GUID, MakeResourceGUID_Helper) { ResourceGUID guid = MakeResourceGUID("test/path"); EXPECT_TRUE(guid.IsValid()); } TEST(Resources_GUID, EqualityOperators) { ResourceGUID guid1(100); ResourceGUID guid2(100); ResourceGUID guid3(200); EXPECT_TRUE(guid1 == guid2); EXPECT_TRUE(guid1 != guid3); } } // namespace