test: close render object id coverage gaps
This commit is contained in:
@@ -17,6 +17,7 @@ using XCEngine::Editor::ViewportObjectIdReadbackRequest;
|
||||
using XCEngine::RHI::RHICommandQueue;
|
||||
using XCEngine::RHI::RHITexture;
|
||||
using XCEngine::RHI::ResourceStates;
|
||||
using XCEngine::Rendering::kInvalidRenderObjectId;
|
||||
using XCEngine::UI::UIPoint;
|
||||
using XCEngine::UI::UISize;
|
||||
|
||||
@@ -85,6 +86,16 @@ TEST(ViewportObjectIdPickerTest, BuildReadbackRequestMapsViewportCoordinatesToTe
|
||||
TEST(ViewportObjectIdPickerTest, TryPickViewportObjectIdEntityDecodesReadbackColor) {
|
||||
const ViewportObjectIdPickContext context = CreateValidContext();
|
||||
|
||||
const ViewportObjectIdPickResult result = PickViewportObjectIdEntity(
|
||||
context,
|
||||
[](const ViewportObjectIdReadbackRequest&, std::array<uint8_t, 4>& outRgba) {
|
||||
outRgba = { 0x78, 0x56, 0x34, 0x12 };
|
||||
return true;
|
||||
});
|
||||
EXPECT_EQ(result.renderObjectId, 0x12345678u);
|
||||
EXPECT_EQ(result.entityId, 0x12345678ull);
|
||||
EXPECT_TRUE(result.HasResolvedSample());
|
||||
|
||||
uint64_t entityId = 0;
|
||||
ViewportObjectIdReadbackRequest capturedRequest = {};
|
||||
const bool picked = TryPickViewportObjectIdEntity(
|
||||
@@ -113,6 +124,7 @@ TEST(ViewportObjectIdPickerTest, PickViewportObjectIdEntityReturnsSuccessForZero
|
||||
});
|
||||
|
||||
EXPECT_EQ(result.status, ViewportObjectIdPickStatus::Success);
|
||||
EXPECT_EQ(result.renderObjectId, kInvalidRenderObjectId);
|
||||
EXPECT_EQ(result.entityId, 0u);
|
||||
EXPECT_TRUE(result.HasResolvedSample());
|
||||
}
|
||||
@@ -128,6 +140,7 @@ TEST(ViewportObjectIdPickerTest, PickViewportObjectIdEntityReturnsUnavailableWhe
|
||||
});
|
||||
|
||||
EXPECT_EQ(result.status, ViewportObjectIdPickStatus::Unavailable);
|
||||
EXPECT_EQ(result.renderObjectId, kInvalidRenderObjectId);
|
||||
EXPECT_EQ(result.entityId, 0u);
|
||||
EXPECT_FALSE(result.HasResolvedSample());
|
||||
}
|
||||
@@ -157,6 +170,7 @@ TEST(ViewportObjectIdPickerTest, PickViewportObjectIdEntityReportsReadbackFailur
|
||||
});
|
||||
|
||||
EXPECT_EQ(result.status, ViewportObjectIdPickStatus::ReadbackFailed);
|
||||
EXPECT_EQ(result.renderObjectId, kInvalidRenderObjectId);
|
||||
EXPECT_EQ(result.entityId, 0u);
|
||||
EXPECT_FALSE(result.HasResolvedSample());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user