瀏覽代碼

test: iterator concepts workarounds

skypjack 3 月之前
父節點
當前提交
f22c7d931b
共有 2 個文件被更改,包括 16 次插入0 次删除
  1. 1 0
      test/CMakeLists.txt
  2. 15 0
      test/entt/stl/iterator.cpp

+ 1 - 0
test/CMakeLists.txt

@@ -367,6 +367,7 @@ SETUP_BASIC_TEST(
     NAME stl
     NAME stl
     SOURCES
     SOURCES
         entt/stl/functional.cpp
         entt/stl/functional.cpp
+        entt/stl/iterator.cpp
         entt/stl/memory.cpp
         entt/stl/memory.cpp
     DEFS ENTT_USE_STL
     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>));
+}