29 lines
870 B
C++
29 lines
870 B
C++
|
|
#include <gtest/gtest.h>
|
||
|
|
|
||
|
|
#include "Platform/D3D12WindowRenderer.h"
|
||
|
|
|
||
|
|
#include <type_traits>
|
||
|
|
|
||
|
|
namespace {
|
||
|
|
|
||
|
|
using XCEngine::Editor::Platform::D3D12WindowRenderer;
|
||
|
|
using XCEngine::Rendering::RenderSurface;
|
||
|
|
|
||
|
|
TEST(D3D12WindowRendererApiTest, ExposesSurfaceAwareRenderCallbackAndAccessor) {
|
||
|
|
using Callback = D3D12WindowRenderer::RenderCallback;
|
||
|
|
|
||
|
|
static_assert(std::is_same_v<
|
||
|
|
decltype(std::declval<D3D12WindowRenderer&>().GetCurrentRenderSurface()),
|
||
|
|
const RenderSurface*>);
|
||
|
|
static_assert(std::is_same_v<
|
||
|
|
decltype(std::declval<D3D12WindowRenderer&>().Render(
|
||
|
|
std::declval<::XCEngine::Editor::UI::ImGuiBackendBridge&>(),
|
||
|
|
std::declval<const float*>(),
|
||
|
|
std::declval<const Callback&>())),
|
||
|
|
void>);
|
||
|
|
|
||
|
|
SUCCEED();
|
||
|
|
}
|
||
|
|
|
||
|
|
} // namespace
|