174 lines
5.6 KiB
C++
174 lines
5.6 KiB
C++
/**
|
|
* @file dungeon_e2e_tests.cc
|
|
* @brief Implementation of unified dungeon E2E test registration
|
|
*
|
|
* This file provides the RegisterDungeonE2ETests() function that registers
|
|
* all dungeon-related E2E tests with the ImGuiTestEngine in a single call.
|
|
*
|
|
* This consolidates test registration that was previously scattered across
|
|
* yaze_test.cc, making it easier to:
|
|
* - Add new dungeon tests in one place
|
|
* - Enable/disable dungeon test categories
|
|
* - Maintain consistent test organization
|
|
*/
|
|
|
|
#define IMGUI_DEFINE_MATH_OPERATORS
|
|
|
|
#include "e2e/dungeon_e2e_tests.h"
|
|
|
|
#include "app/controller.h"
|
|
#include "imgui/imgui.h"
|
|
#include "imgui_test_engine/imgui_te_context.h"
|
|
#include "imgui_test_engine/imgui_te_engine.h"
|
|
|
|
namespace yaze {
|
|
namespace test {
|
|
namespace e2e {
|
|
|
|
void RegisterDungeonE2ETests(ImGuiTestEngine* engine, Controller* controller) {
|
|
// =========================================================================
|
|
// Smoke Tests (dungeon_editor_smoke_test.h)
|
|
// =========================================================================
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E", "SmokeTest");
|
|
test->TestFunc = E2ETest_DungeonEditorV2SmokeTest;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
// =========================================================================
|
|
// Visual Verification Tests (dungeon_visual_verification_test.h)
|
|
// =========================================================================
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Visual", "BasicRoomRendering");
|
|
test->TestFunc = yaze::test::E2ETest_VisualVerification_BasicRoomRendering;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Visual", "LayerVisibility");
|
|
test->TestFunc = yaze::test::E2ETest_VisualVerification_LayerVisibility;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Visual", "ObjectEditor");
|
|
test->TestFunc = yaze::test::E2ETest_VisualVerification_ObjectEditor;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Visual", "MultiRoomNavigation");
|
|
test->TestFunc = yaze::test::E2ETest_VisualVerification_MultiRoomNavigation;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
// =========================================================================
|
|
// Object Drawing Tests (dungeon_object_drawing_test.h)
|
|
// =========================================================================
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_ObjectDrawing", "BasicPlacement");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonObjectDrawing_BasicPlacement;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_ObjectDrawing", "MultiLayerObjects");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonObjectDrawing_MultiLayerObjects;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_ObjectDrawing", "ObjectDeletion");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonObjectDrawing_ObjectDeletion;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_ObjectDrawing", "ObjectRepositioning");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonObjectDrawing_ObjectRepositioning;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
// =========================================================================
|
|
// Canvas Interaction Tests (dungeon_canvas_interaction_test.h)
|
|
// =========================================================================
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Canvas", "PanZoom");
|
|
test->TestFunc = E2ETest_DungeonCanvas_PanZoom;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Canvas", "ObjectSelection");
|
|
test->TestFunc = E2ETest_DungeonCanvas_ObjectSelection;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Canvas", "GridSnap");
|
|
test->TestFunc = E2ETest_DungeonCanvas_GridSnap;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Canvas", "MultiSelect");
|
|
test->TestFunc = E2ETest_DungeonCanvas_MultiSelect;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
// =========================================================================
|
|
// Layer Rendering Tests (dungeon_layer_rendering_test.h)
|
|
// =========================================================================
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Layer", "ToggleBG1");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonLayers_ToggleBG1;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Layer", "ToggleBG2");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonLayers_ToggleBG2;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Layer", "AllLayersOff");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonLayers_AllLayersOff;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Layer", "PerRoomSettings");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonLayers_PerRoomSettings;
|
|
test->UserData = controller;
|
|
}
|
|
|
|
{
|
|
ImGuiTest* test =
|
|
IM_REGISTER_TEST(engine, "DungeonE2E_Layer", "ObjectsAboveBackground");
|
|
test->TestFunc = yaze::test::E2ETest_DungeonLayers_ObjectsAboveBackground;
|
|
test->UserData = controller;
|
|
}
|
|
}
|
|
|
|
} // namespace e2e
|
|
} // namespace test
|
|
} // namespace yaze
|