Add Phase 2: Texture and Sampler tests (9 tests)

- Add Texture tests: 2DTexture, CubeMap, Bind/Unbind, GenerateMipmap, SetFiltering/SetWrapping
- Add Sampler tests: Initialize (default/custom), Bind/Unbind, GetID
This commit is contained in:
2026-03-17 12:27:47 +08:00
parent 745f3ab225
commit 1d181f1109
3 changed files with 135 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
#include "fixtures/OpenGLTestFixture.h"
#include "XCEngine/RHI/OpenGL/OpenGLSampler.h"
using namespace XCEngine::RHI;
TEST_F(OpenGLTestFixture, Sampler_Initialize_Default) {
OpenGLSampler sampler;
SamplerDesc desc;
bool result = sampler.Initialize(desc);
ASSERT_TRUE(result);
EXPECT_NE(sampler.GetID(), 0u);
sampler.Shutdown();
}
TEST_F(OpenGLTestFixture, Sampler_Initialize_Custom) {
OpenGLSampler sampler;
SamplerDesc desc;
desc.minFilter = SamplerFilter::LinearMipmapLinear;
desc.magFilter = SamplerFilter::Linear;
desc.wrapS = SamplerWrapMode::Repeat;
desc.wrapT = SamplerWrapMode::Repeat;
desc.wrapR = SamplerWrapMode::ClampToEdge;
bool result = sampler.Initialize(desc);
ASSERT_TRUE(result);
EXPECT_NE(sampler.GetID(), 0u);
sampler.Shutdown();
}
TEST_F(OpenGLTestFixture, Sampler_Bind_Unbind) {
OpenGLSampler sampler;
SamplerDesc desc;
sampler.Initialize(desc);
sampler.Bind(0);
GLint boundSampler = 0;
glGetIntegerv(GL_SAMPLER_BINDING, &boundSampler);
EXPECT_EQ(boundSampler, static_cast<GLint>(sampler.GetID()));
sampler.Unbind(0);
glGetIntegerv(GL_SAMPLER_BINDING, &boundSampler);
EXPECT_EQ(boundSampler, 0);
sampler.Shutdown();
}
TEST_F(OpenGLTestFixture, Sampler_GetID_ReturnsValid) {
OpenGLSampler sampler;
SamplerDesc desc;
sampler.Initialize(desc);
EXPECT_NE(sampler.GetID(), 0u);
sampler.Shutdown();
}