2026-03-17 19:38:27 +08:00
|
|
|
#include <gtest/gtest.h>
|
|
|
|
|
#include <XCEngine/Resources/ResourceTypes.h>
|
2026-03-17 22:32:27 +08:00
|
|
|
#include <XCEngine/Containers/String.h>
|
2026-03-17 19:38:27 +08:00
|
|
|
|
|
|
|
|
using namespace XCEngine::Resources;
|
2026-03-17 22:32:27 +08:00
|
|
|
using namespace XCEngine::Containers;
|
2026-03-17 19:38:27 +08:00
|
|
|
|
|
|
|
|
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) {
|
2026-03-17 22:32:27 +08:00
|
|
|
String path = "models/player.fbx";
|
2026-03-17 19:38:27 +08:00
|
|
|
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);
|
2026-03-17 22:32:27 +08:00
|
|
|
String str = guid.ToString();
|
2026-03-17 19:38:27 +08:00
|
|
|
|
2026-03-17 22:32:27 +08:00
|
|
|
EXPECT_EQ(str.Length(), 16u);
|
2026-03-17 19:38:27 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|