From d34cf9c575fef03c6505939fa77ebedabfae413a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 27 Aug 2024 14:27:50 +0200 Subject: wip --- test/hole.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'test/hole.cpp') diff --git a/test/hole.cpp b/test/hole.cpp index ade06a9c..f5cbb345 100644 --- a/test/hole.cpp +++ b/test/hole.cpp @@ -1,6 +1,7 @@ #include "app.hpp" #include "src/hole.hpp" #include "src/hole-cut.hpp" +#include "src/tile-constants.hpp" namespace floormat { namespace { @@ -54,6 +55,25 @@ void test1(Vector2i offset) #endif } +auto make_search_predicate(const CutResult& res) +{ + return [&](Vector2i min, Vector2i max) -> bool { + for (auto i = 0u; i < res.size; i++) + if (res.array[i].min == min && res.array[i].max == max) + return true; + return false; + }; +} + +void test2() +{ + const auto res = CutResult::cut({{}, Vector2ub{tile_size_xy}}, {Vector2i(-tile_size_xy/2), Vector2ub{tile_size_xy}}); + fm_assert(res.size == 2); + const auto has = make_search_predicate(res); + fm_assert(has({-32, 0}, {32, 32})); + fm_assert(has({0, -32}, {32, 0})); +} + } // namespace void Test::test_hole() @@ -68,6 +88,8 @@ void Test::test_hole() for (auto offset : offsets) test1(offset); + + test2(); } } // namespace floormat -- cgit v1.2.3