test(Resources): Add IResource tests (3 test cases)
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
set(RESOURCES_TEST_SOURCES
|
||||
test_resource_types.cpp
|
||||
test_resource_guid.cpp
|
||||
test_iresource.cpp
|
||||
)
|
||||
|
||||
add_executable(xcengine_resources_tests ${RESOURCES_TEST_SOURCES})
|
||||
|
||||
69
tests/Resources/test_iresource.cpp
Normal file
69
tests/Resources/test_iresource.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <XCEngine/Resources/IResource.h>
|
||||
#include <XCEngine/Resources/ResourceTypes.h>
|
||||
#include <XCEngine/Containers/String.h>
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user