1
0
Эх сурвалжийг харах

test: iterator concepts workarounds

skypjack 4 долоо хоног өмнө
parent
commit
f22c7d931b

+ 1 - 0
test/CMakeLists.txt

@@ -367,6 +367,7 @@ SETUP_BASIC_TEST(
     NAME stl
     SOURCES
         entt/stl/functional.cpp
+        entt/stl/iterator.cpp
         entt/stl/memory.cpp
     DEFS ENTT_USE_STL
 )

+ 15 - 0
test/entt/stl/iterator.cpp

@@ -0,0 +1,15 @@
+#include <gtest/gtest.h>
+#include <entt/entity/sparse_set.hpp>
+#include <entt/stl/iterator.hpp>
+
+TEST(Iterator, Concepts) {
+    using iterator = typename entt::sparse_set::iterator;
+
+    ASSERT_TRUE(entt::stl::bidirectional_iterator<iterator>);
+    ASSERT_TRUE(entt::stl::forward_iterator<iterator>);
+    ASSERT_TRUE(entt::stl::input_iterator<iterator>);
+    ASSERT_TRUE(entt::stl::input_or_output_iterator<iterator>);
+    ASSERT_FALSE((entt::stl::output_iterator<iterator, entt::entity>));
+    ASSERT_TRUE(entt::stl::random_access_iterator<iterator>);
+    ASSERT_TRUE((entt::stl::sentinel_for<iterator, iterator>));
+}