#include "fixtures/OpenGLTestFixture.h" #include "XCEngine/RHI/OpenGL/OpenGLFence.h" using namespace XCEngine::RHI; TEST_F(OpenGLTestFixture, Fence_Initialize_Unsignaled) { OpenGLFence fence; bool result = fence.Initialize(false); ASSERT_TRUE(result); EXPECT_EQ(fence.GetStatus(), FenceStatus::Unsignaled); fence.Shutdown(); } TEST_F(OpenGLTestFixture, Fence_Initialize_Signaled) { OpenGLFence fence; bool result = fence.Initialize(true); ASSERT_TRUE(result); fence.Shutdown(); } TEST_F(OpenGLTestFixture, Fence_Signal_Wait) { OpenGLFence fence; fence.Initialize(false); fence.Signal(1); fence.Wait(1); EXPECT_TRUE(fence.IsSignaled()); EXPECT_EQ(fence.GetCompletedValue(), 1u); fence.Shutdown(); } TEST_F(OpenGLTestFixture, Fence_IsSignaled_ReturnsState) { OpenGLFence fence; fence.Initialize(false); fence.Signal(1); fence.Wait(1); EXPECT_TRUE(fence.IsSignaled()); fence.Shutdown(); } TEST_F(OpenGLTestFixture, Fence_GetStatus_ReturnsCorrect) { OpenGLFence fence; fence.Initialize(false); FenceStatus status = fence.GetStatus(); EXPECT_TRUE(status == FenceStatus::Signaled || status == FenceStatus::Unsignaled); fence.Shutdown(); }