From 3370445a2e22ee00687ecef2e9dc88f47bb2b4c6 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 23 Dec 2023 14:42:15 +0100 Subject: a --- test/map.cpp | 37 +++++++++++++++++++++++++++++++++++++ test/wall-atlas.cpp | 8 -------- 2 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 test/map.cpp (limited to 'test') diff --git a/test/map.cpp b/test/map.cpp new file mode 100644 index 00000000..62860b22 --- /dev/null +++ b/test/map.cpp @@ -0,0 +1,37 @@ +#ifdef __GNUG__ +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + +#include "compat/map.hpp" +#include "compat/assert.hpp" + +namespace floormat { + +namespace { + +constexpr bool test1() +{ + constexpr auto array = std::array{0, 1, 2, 3, 4}; + auto array2 = map(array, [](int x) constexpr { + return (unsigned)(x - 1); + }); + constexpr auto array3 = std::array{(unsigned)-1, 0u, 1u, 2u, 3u}; + fm_assert(array2.size() == array.size()); + fm_assert(array3.size() == array.size()); + for (auto i = 0uz; i < array.size(); i++) + fm_assert(array2[i] == array3[i]); + return true; +} + +constexpr bool test2() +{ + fm_assert(map(std::array{}, [](int x) constexpr { return x;}).size() == 0); + return true; +} + +static_assert(test1()); +static_assert(test2()); + +} // namespace + +} // namespace floormat diff --git a/test/wall-atlas.cpp b/test/wall-atlas.cpp index d6b0f564..9258863c 100644 --- a/test/wall-atlas.cpp +++ b/test/wall-atlas.cpp @@ -85,17 +85,11 @@ void test_from_rotation(StringView filename) const auto& D_w = atlas.direction_array[DAI_w.val]; constexpr auto null = (uint8_t)-1; resolve_wall_rotations(atlas.direction_array, atlas.direction_map); - fm_assert(!D_n.corner_R.is_defined && D_n.corner_R.from_rotation == null); fm_assert(D_n.top.is_defined); fm_assert(D_n.top.from_rotation != null); fm_assert(D_n.top.from_rotation != null); fm_assert(D_w.top.from_rotation == null); fm_assert(D_w.top.is_defined); - fm_assert(D_n.corner_L.is_defined); - fm_assert(D_n.corner_L.from_rotation == null); - fm_assert(D_w.corner_L.is_defined); - fm_assert(D_w.corner_L.from_rotation == DAI_n.val); - fm_assert(atlas.direction_array[D_w.corner_L.from_rotation].corner_L.count == 11); fm_assert(atlas.direction_array[D_n.top.from_rotation].top.count == 12); } @@ -124,8 +118,6 @@ void test_expected_size() { fm_assert_equal(Vector2ui{64, 192}, wall_atlas::expected_size(42, Group_::wall)); fm_assert_equal(Vector2ui{42, 192}, wall_atlas::expected_size(42, Group_::side)); - fm_assert_equal(Vector2ui{32, 192}, wall_atlas::expected_size(42, Group_::corner_L)); - fm_assert_equal(Vector2ui{32, 192}, wall_atlas::expected_size(42, Group_::corner_R)); // swapped in atlas.json during reading and writing, rotated counter-clockwise in atlas image file fm_assert_equal(Vector2ui{42, 192}, wall_atlas::expected_size(42, Group_::top)); } -- cgit v1.2.3