Browse Source

fixed tests

Michele Caini 7 years ago
parent
commit
99d9a9f44e
2 changed files with 34 additions and 0 deletions
  1. 18 0
      test/entt/entity/group.cpp
  2. 16 0
      test/entt/entity/view.cpp

+ 18 - 0
test/entt/entity/group.cpp

@@ -373,6 +373,14 @@ TEST(NonOwningGroup, ConstNonConstAndAllInBetween) {
     entt::registry<> registry;
     auto group = registry.group<>(entt::get<int, const char>);
 
+    ASSERT_EQ(group.size(), decltype(group.size()){0});
+
+    const auto entity = registry.create();
+    registry.assign<int>(entity, 0);
+    registry.assign<char>(entity, 'c');
+
+    ASSERT_EQ(group.size(), decltype(group.size()){1});
+
     ASSERT_TRUE((std::is_same_v<decltype(group.get<int>(0)), int &>));
     ASSERT_TRUE((std::is_same_v<decltype(group.get<const int>(0)), const int &>));
     ASSERT_TRUE((std::is_same_v<decltype(group.get<const char>(0)), const char &>));
@@ -389,6 +397,16 @@ TEST(OwningGroup, ConstNonConstAndAllInBetween) {
     entt::registry<> registry;
     auto group = registry.group<int, const char>(entt::get<double, const float>);
 
+    ASSERT_EQ(group.size(), decltype(group.size()){0});
+
+    const auto entity = registry.create();
+    registry.assign<int>(entity, 0);
+    registry.assign<char>(entity, 'c');
+    registry.assign<double>(entity, 0.);
+    registry.assign<float>(entity, 0.f);
+
+    ASSERT_EQ(group.size(), decltype(group.size()){1});
+
     ASSERT_TRUE((std::is_same_v<decltype(group.get<int>(0)), int &>));
     ASSERT_TRUE((std::is_same_v<decltype(group.get<const int>(0)), const int &>));
     ASSERT_TRUE((std::is_same_v<decltype(group.get<const char>(0)), const char &>));

+ 16 - 0
test/entt/entity/view.cpp

@@ -130,6 +130,14 @@ TEST(SingleComponentView, ConstNonConstAndAllInBetween) {
     auto view = registry.view<int>();
     auto cview = registry.view<const int>();
 
+    ASSERT_EQ(view.size(), decltype(view.size()){0});
+    ASSERT_EQ(cview.size(), decltype(cview.size()){0});
+
+    registry.assign<int>(registry.create(), 0);
+
+    ASSERT_EQ(view.size(), decltype(view.size()){1});
+    ASSERT_EQ(cview.size(), decltype(cview.size()){1});
+
     ASSERT_TRUE((std::is_same_v<typename decltype(view)::raw_type, int>));
     ASSERT_TRUE((std::is_same_v<typename decltype(cview)::raw_type, const int>));
 
@@ -343,6 +351,14 @@ TEST(MultipleComponentView, ConstNonConstAndAllInBetween) {
     entt::registry<> registry;
     auto view = registry.view<int, const char>();
 
+    ASSERT_EQ(view.size(), decltype(view.size()){0});
+
+    const auto entity = registry.create();
+    registry.assign<int>(entity, 0);
+    registry.assign<char>(entity, 'c');
+
+    ASSERT_EQ(view.size(), decltype(view.size()){1});
+
     ASSERT_TRUE((std::is_same_v<decltype(view.get<int>(0)), int &>));
     ASSERT_TRUE((std::is_same_v<decltype(view.get<const int>(0)), const int &>));
     ASSERT_TRUE((std::is_same_v<decltype(view.get<const char>(0)), const char &>));