48 lines
1.8 KiB
C++
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);
|
|
}
|