Files
XCEngine/tests/Rendering/unit/test_camera_frame_graph_frame_data.cpp

48 lines
1.8 KiB
C++

#include <gtest/gtest.h>
#include <XCEngine/Rendering/Execution/CameraFrameRenderGraphFrameData.h>
using namespace XCEngine::Rendering;
TEST(CameraFrameRenderGraphFrameData_Test, StoresFrameDataAndResourcesInBlackboard) {
RenderGraphBlackboard blackboard = {};
CameraFrameRenderGraphFrameData& frameData =
EmplaceCameraFrameRenderGraphFrameData(blackboard);
frameData.resources.mainScene.color = RenderGraphTextureHandle{ 7u };
frameData.resources.postProcess.depth = RenderGraphTextureHandle{ 9u };
CameraFrameRenderGraphFrameData* const storedFrameData =
TryGetCameraFrameRenderGraphFrameData(&blackboard);
ASSERT_NE(storedFrameData, nullptr);
EXPECT_EQ(storedFrameData, &frameData);
CameraFrameRenderGraphResources* const frameResources =
TryGetCameraFrameRenderGraphResources(&blackboard);
ASSERT_NE(frameResources, nullptr);
EXPECT_EQ(frameResources, &frameData.resources);
EXPECT_EQ(frameResources->mainScene.color.index, 7u);
EXPECT_EQ(frameResources->postProcess.depth.index, 9u);
}
TEST(CameraFrameRenderGraphFrameData_Test, ResolvesColorSourceFromBlackboardFrameData) {
RenderGraphBlackboard blackboard = {};
CameraFrameRenderGraphFrameData& frameData =
EmplaceCameraFrameRenderGraphFrameData(blackboard);
frameData.resources.mainScene.color = RenderGraphTextureHandle{ 17u };
frameData.resources.postProcess.color = RenderGraphTextureHandle{ 19u };
EXPECT_EQ(
ResolveCameraFrameRenderGraphColorSource(
&blackboard,
CameraFrameColorSource::MainSceneColor)
.index,
17u);
EXPECT_EQ(
ResolveCameraFrameRenderGraphColorSource(
&blackboard,
CameraFrameColorSource::PostProcessColor)
.index,
19u);
}