2026-03-17 22:50:21 +08:00
|
|
|
#include <gtest/gtest.h>
|
refactor(tests): update Resources include paths to new directory structure
- Updated 23 test files in tests/Resources/ to use new include paths:
- Core/Asset: IResource, ResourceTypes, ResourceHandle, ResourceManager, ResourceCache, AsyncLoader, ResourceDependencyGraph
- Core/IO: IResourceLoader, ResourceFileSystem, ResourcePackage, ResourcePath, FileArchive
- Resources subdirs: Texture/*, Shader/*, Mesh/*, Material/*, AudioClip/*
2026-03-24 15:02:59 +08:00
|
|
|
#include <XCEngine/Core/Asset/IResource.h>
|
|
|
|
|
#include <XCEngine/Core/Asset/ResourceTypes.h>
|
|
|
|
|
#include <XCEngine/Core/Containers/String.h>
|
2026-03-17 22:50:21 +08:00
|
|
|
|
|
|
|
|
using namespace XCEngine::Resources;
|
|
|
|
|
using namespace XCEngine::Containers;
|
|
|
|
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
|
|
|
|
class TestResource : public IResource {
|
|
|
|
|
public:
|
|
|
|
|
ResourceType GetType() const override { return ResourceType::Texture; }
|
|
|
|
|
const String& GetName() const override { return m_name; }
|
|
|
|
|
const String& GetPath() const override { return m_path; }
|
|
|
|
|
ResourceGUID GetGUID() const override { return m_guid; }
|
|
|
|
|
bool IsValid() const override { return m_isValid; }
|
|
|
|
|
size_t GetMemorySize() const override { return m_memorySize; }
|
|
|
|
|
void Release() override { delete this; }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
TEST(IResource, Initialize) {
|
|
|
|
|
TestResource* resource = new TestResource();
|
|
|
|
|
|
|
|
|
|
IResource::ConstructParams params;
|
|
|
|
|
params.name = "TestTexture";
|
|
|
|
|
params.path = "textures/test.png";
|
|
|
|
|
params.guid = ResourceGUID(12345);
|
|
|
|
|
params.memorySize = 1024;
|
|
|
|
|
|
|
|
|
|
resource->Initialize(params);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(resource->GetName(), "TestTexture");
|
|
|
|
|
EXPECT_EQ(resource->GetPath(), "textures/test.png");
|
|
|
|
|
EXPECT_EQ(resource->GetGUID().value, 12345u);
|
|
|
|
|
EXPECT_EQ(resource->GetMemorySize(), 1024u);
|
|
|
|
|
EXPECT_TRUE(resource->IsValid());
|
|
|
|
|
|
|
|
|
|
resource->Release();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST(IResource, SetInvalid) {
|
|
|
|
|
TestResource* resource = new TestResource();
|
|
|
|
|
|
|
|
|
|
IResource::ConstructParams params;
|
|
|
|
|
params.name = "Test";
|
|
|
|
|
params.path = "test.png";
|
|
|
|
|
params.guid = ResourceGUID(1);
|
|
|
|
|
params.memorySize = 100;
|
|
|
|
|
|
|
|
|
|
resource->Initialize(params);
|
|
|
|
|
EXPECT_TRUE(resource->IsValid());
|
|
|
|
|
|
|
|
|
|
resource->SetInvalid();
|
|
|
|
|
EXPECT_FALSE(resource->IsValid());
|
|
|
|
|
|
|
|
|
|
resource->Release();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST(IResource, DefaultValues) {
|
|
|
|
|
TestResource* resource = new TestResource();
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(resource->GetMemorySize(), 0u);
|
|
|
|
|
EXPECT_FALSE(resource->IsValid());
|
|
|
|
|
|
|
|
|
|
resource->Release();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace
|