#include "fixtures/D3D12TestFixture.h" #include "XCEngine/RHI/D3D12/D3D12CommandAllocator.h" using namespace XCEngine::RHI; TEST_F(D3D12TestFixture, CommandAllocator_Reset_Basic) { auto allocator = std::make_unique(); ASSERT_TRUE(allocator->Initialize(GetDevice()->GetDevice(), CommandQueueType::Direct)); allocator->Reset(); EXPECT_TRUE(allocator->IsReady()); } TEST_F(D3D12TestFixture, CommandAllocator_Reset_Multiple) { auto allocator = std::make_unique(); ASSERT_TRUE(allocator->Initialize(GetDevice()->GetDevice(), CommandQueueType::Direct)); for (int i = 0; i < 10; ++i) { allocator->Reset(); EXPECT_TRUE(allocator->IsReady()); } } TEST_F(D3D12TestFixture, CommandAllocator_Create_DifferentTypes) { CommandQueueType types[] = { CommandQueueType::Direct, CommandQueueType::Compute, CommandQueueType::Copy }; for (auto type : types) { auto allocator = std::make_unique(); ASSERT_TRUE(allocator->Initialize(GetDevice()->GetDevice(), type)); } }