summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-12-23 14:42:15 +0100
committerStanislaw Halik <sthalik@misaki.pl>2023-12-26 04:39:12 +0100
commit3370445a2e22ee00687ecef2e9dc88f47bb2b4c6 (patch)
treea99ec32a02fc91d729205fc26d7183b6b4214b28 /test
parentc141a9efcfaecadffe771bd0c37bea0e46a3f9aa (diff)
a
Diffstat (limited to 'test')
-rw-r--r--test/map.cpp37
-rw-r--r--test/wall-atlas.cpp8
2 files changed, 37 insertions, 8 deletions
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, 0>{}, [](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));
}