Extract image import route planning
This commit is contained in:
56
tests/app_core/document_import_tests.cpp
Normal file
56
tests/app_core/document_import_tests.cpp
Normal file
@@ -0,0 +1,56 @@
|
||||
#include "app_core/document_import.h"
|
||||
#include "test_harness.h"
|
||||
|
||||
namespace {
|
||||
|
||||
void import_plan_detects_wide_equirectangular_images(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_document_image_import(4096, 2048);
|
||||
PP_EXPECT(harness, plan);
|
||||
if (plan) {
|
||||
PP_EXPECT(harness, plan.value().action == pp::app::DocumentImageImportAction::import_equirectangular);
|
||||
PP_EXPECT(harness, plan.value().imports_equirectangular);
|
||||
PP_EXPECT(harness, !plan.value().enters_transform_mode);
|
||||
}
|
||||
}
|
||||
|
||||
void import_plan_detects_legacy_vertical_cube_strips(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_document_image_import(512, 3072);
|
||||
PP_EXPECT(harness, plan);
|
||||
if (plan) {
|
||||
PP_EXPECT(harness, plan.value().action == pp::app::DocumentImageImportAction::import_equirectangular);
|
||||
PP_EXPECT(harness, plan.value().imports_equirectangular);
|
||||
PP_EXPECT(harness, !plan.value().enters_transform_mode);
|
||||
}
|
||||
}
|
||||
|
||||
void import_plan_places_regular_images_as_transform_sources(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto plan = pp::app::plan_document_image_import(1024, 1024);
|
||||
PP_EXPECT(harness, plan);
|
||||
if (plan) {
|
||||
PP_EXPECT(harness, plan.value().action == pp::app::DocumentImageImportAction::place_transform);
|
||||
PP_EXPECT(harness, !plan.value().imports_equirectangular);
|
||||
PP_EXPECT(harness, plan.value().enters_transform_mode);
|
||||
}
|
||||
}
|
||||
|
||||
void import_plan_rejects_invalid_dimensions(pp::tests::Harness& harness)
|
||||
{
|
||||
PP_EXPECT(harness, !pp::app::plan_document_image_import(0, 1024));
|
||||
PP_EXPECT(harness, !pp::app::plan_document_image_import(1024, 0));
|
||||
PP_EXPECT(harness, !pp::app::plan_document_image_import(-1, 1024));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
pp::tests::Harness harness;
|
||||
harness.run("import plan detects wide equirectangular images", import_plan_detects_wide_equirectangular_images);
|
||||
harness.run("import plan detects legacy vertical cube strips", import_plan_detects_legacy_vertical_cube_strips);
|
||||
harness.run("import plan places regular images as transform sources", import_plan_places_regular_images_as_transform_sources);
|
||||
harness.run("import plan rejects invalid dimensions", import_plan_rejects_invalid_dimensions);
|
||||
return harness.finish();
|
||||
}
|
||||
Reference in New Issue
Block a user