From 0ca5ea0150975c2426f29e07da7ea0ff884d4590 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Fri, 10 Jul 2020 15:09:40 +0200 Subject: [PATCH] test: minor changes --- test/entt/entity/group.cpp | 200 ++++++++++++++++++------------------- test/entt/entity/view.cpp | 162 ++++++++++++++---------------- 2 files changed, 173 insertions(+), 189 deletions(-) diff --git a/test/entt/entity/group.cpp b/test/entt/entity/group.cpp index 85ec24705..8d45bdd3f 100644 --- a/test/entt/entity/group.cpp +++ b/test/entt/entity/group.cpp @@ -158,10 +158,10 @@ TEST(NonOwningGroup, Each) { group.each([&cnt](auto, int &, char &) { ++cnt; }); group.each([&cnt](int &, char &) { ++cnt; }); - for(auto curr: group.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); + for(auto &&[entt, iv, cv]: group.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); ++cnt; } @@ -170,10 +170,10 @@ TEST(NonOwningGroup, Each) { cgroup.each([&cnt](auto, const int &, const char &) { --cnt; }); cgroup.each([&cnt](const int &, const char &) { --cnt; }); - for(auto curr: cgroup.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, const int &>)); - ASSERT_TRUE((std::is_same_v, const char &>)); + for(auto &&[entt, iv, cv]: cgroup.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); --cnt; } @@ -334,21 +334,21 @@ TEST(NonOwningGroup, ConstNonConstAndAllInBetween) { ASSERT_EQ(group.size(), decltype(group.size()){1}); - ASSERT_TRUE((std::is_same_v({})), int &>)); - ASSERT_TRUE((std::is_same_v({})), const char &>)); - ASSERT_TRUE((std::is_same_v({})), std::tuple>)); - ASSERT_TRUE((std::is_same_v()), const char *>)); - ASSERT_TRUE((std::is_same_v()), int *>)); + static_assert(std::is_same_v({})), int &>); + static_assert(std::is_same_v({})), const char &>); + static_assert(std::is_same_v({})), std::tuple>); + static_assert(std::is_same_v()), const char *>); + static_assert(std::is_same_v()), int *>); group.each([](auto &&i, auto &&c) { - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); + static_assert(std::is_same_v); }); - for(auto curr: group.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, const char &>)); + for(auto &&[entt, iv, cv]: group.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); } } @@ -467,11 +467,10 @@ TEST(NonOwningGroup, EmptyAndNonEmptyTypes) { ASSERT_TRUE(entity == e0 || entity == e1); }); - for(auto curr: group.each()) { - ASSERT_EQ(std::tuple_size_v, 2); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE(std::get<0>(curr) == e0 || std::get<0>(curr) == e1); + for(auto &&[entt, iv]: group.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_TRUE(entt == e0 || entt == e1); } ASSERT_EQ(group.size(), typename decltype(group)::size_type{2}); @@ -507,12 +506,11 @@ TEST(NonOwningGroup, EmptyTypes) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.group(entt::get).each([check = true](int, char) mutable { @@ -520,35 +518,32 @@ TEST(NonOwningGroup, EmptyTypes) { check = false; }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.group(entt::get).each([entity](const auto entt, int, char) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.group(entt::get).each([](const auto, int, char, double) { FAIL(); }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 4); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_TRUE((std::is_same_v, double &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv, dv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } } @@ -727,10 +722,10 @@ TEST(OwningGroup, Each) { group.each([&cnt](auto, int &, char &) { ++cnt; }); group.each([&cnt](int &, char &) { ++cnt; }); - for(auto curr: group.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); + for(auto &&[entt, iv, cv]: group.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); ++cnt; } @@ -739,10 +734,10 @@ TEST(OwningGroup, Each) { cgroup.each([&cnt](auto, const int &, const char &) { --cnt; }); cgroup.each([&cnt](const int &, const char &) { --cnt; }); - for(auto curr: cgroup.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, const int &>)); - ASSERT_TRUE((std::is_same_v, const char &>)); + for(auto &&[entt, iv, cv]: cgroup.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); --cnt; } @@ -989,27 +984,29 @@ TEST(OwningGroup, ConstNonConstAndAllInBetween) { ASSERT_EQ(group.size(), decltype(group.size()){1}); - ASSERT_TRUE((std::is_same_v({})), int &>)); - ASSERT_TRUE((std::is_same_v({})), const char &>)); - ASSERT_TRUE((std::is_same_v({})), double &>)); - ASSERT_TRUE((std::is_same_v({})), const float &>)); - ASSERT_TRUE((std::is_same_v({})), std::tuple>)); - ASSERT_TRUE((std::is_same_v()), const float *>)); - ASSERT_TRUE((std::is_same_v()), double *>)); - ASSERT_TRUE((std::is_same_v()), const char *>)); - ASSERT_TRUE((std::is_same_v()), int *>)); + static_assert(std::is_same_v({})), int &>); + static_assert(std::is_same_v({})), const char &>); + static_assert(std::is_same_v({})), double &>); + static_assert(std::is_same_v({})), const float &>); + static_assert(std::is_same_v({})), std::tuple>); + static_assert(std::is_same_v()), const float *>); + static_assert(std::is_same_v()), double *>); + static_assert(std::is_same_v()), const char *>); + static_assert(std::is_same_v()), int *>); group.each([](auto &&i, auto &&c, auto &&d, auto &&f) { - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); }); - for(auto curr: group.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, const char &>)); + for(auto &&[entt, iv, cv, dv, fv]: group.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); } } @@ -1128,11 +1125,10 @@ TEST(OwningGroup, EmptyAndNonEmptyTypes) { ASSERT_TRUE(entity == e0 || entity == e1); }); - for(auto curr: group.each()) { - ASSERT_EQ(std::tuple_size_v, 2); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE(std::get<0>(curr) == e0 || std::get<0>(curr) == e1); + for(auto &&[entt, iv]: group.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_TRUE(entt == e0 || entt == e1); } ASSERT_EQ(group.size(), typename decltype(group)::size_type{2}); @@ -1168,12 +1164,11 @@ TEST(OwningGroup, EmptyTypes) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.group(entt::get).each([check = true](int, char) mutable { @@ -1181,35 +1176,32 @@ TEST(OwningGroup, EmptyTypes) { check = false; }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, cv, iv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.group(entt::get).each([entity](const auto entt, int, char) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.group(entt::get).each([](const auto, double, int, char) { FAIL(); }); - for(auto curr: registry.group(entt::get).each()) { - ASSERT_EQ(std::tuple_size_v, 4); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, double &>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, dv, iv, cv]: registry.group(entt::get).each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } } diff --git a/test/entt/entity/view.cpp b/test/entt/entity/view.cpp index ed558a4b6..fb90573a9 100644 --- a/test/entt/entity/view.cpp +++ b/test/entt/entity/view.cpp @@ -114,9 +114,9 @@ TEST(SingleComponentView, Each) { view.each([&cnt](auto, int &) { ++cnt; }); view.each([&cnt](int &) { ++cnt; }); - for([[maybe_unused]] auto curr: view.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); + for(auto &&[entt, iv]: view.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); ++cnt; } @@ -125,9 +125,9 @@ TEST(SingleComponentView, Each) { cview.each([&cnt](auto, const int &) { --cnt; }); cview.each([&cnt](const int &) { --cnt; }); - for([[maybe_unused]] auto curr: cview.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, const int &>)); + for(auto &&[entt, iv]: cview.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); --cnt; } @@ -147,30 +147,30 @@ TEST(SingleComponentView, ConstNonConstAndAllInBetween) { ASSERT_EQ(view.size(), decltype(view.size()){1}); ASSERT_EQ(cview.size(), decltype(cview.size()){1}); - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); + static_assert(std::is_same_v); - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); view.each([](auto &&i) { - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); }); cview.each([](auto &&i) { - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); }); - for(auto curr: view.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); + for(auto &&[entt, iv]: view.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); } - for(auto curr: cview.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, const int &>)); + for(auto &&[entt, iv]: cview.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); } } @@ -234,10 +234,9 @@ TEST(SingleComponentView, EmptyTypes) { check = false; }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 1); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt]: registry.view().each()) { + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.view().each([entity](const auto entt, int) { @@ -249,11 +248,10 @@ TEST(SingleComponentView, EmptyTypes) { check = false; }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 2); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } } @@ -411,10 +409,10 @@ TEST(MultiComponentView, Each) { view.each([&cnt](auto, int &, char &) { ++cnt; }); view.each([&cnt](int &, char &) { ++cnt; }); - for(auto curr: view.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); + for(auto &&[entt, iv, cv]: view.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); ++cnt; } @@ -423,10 +421,10 @@ TEST(MultiComponentView, Each) { cview.each([&cnt](auto, const int &, const char &) { --cnt; }); cview.each([&cnt](const int &, const char &) { --cnt; }); - for(auto curr: cview.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, const int &>)); - ASSERT_TRUE((std::is_same_v, const char &>)); + for(auto &&[entt, iv, cv]: cview.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); --cnt; } @@ -519,21 +517,21 @@ TEST(MultiComponentView, ConstNonConstAndAllInBetween) { ASSERT_EQ(view.size(), decltype(view.size()){1}); - ASSERT_TRUE((std::is_same_v({})), int &>)); - ASSERT_TRUE((std::is_same_v({})), const char &>)); - ASSERT_TRUE((std::is_same_v({})), std::tuple>)); - ASSERT_TRUE((std::is_same_v()), const char *>)); - ASSERT_TRUE((std::is_same_v()), int *>)); + static_assert(std::is_same_v({})), int &>); + static_assert(std::is_same_v({})), const char &>); + static_assert(std::is_same_v({})), std::tuple>); + static_assert(std::is_same_v()), const char *>); + static_assert(std::is_same_v()), int *>); view.each([](auto &&i, auto &&c) { - ASSERT_TRUE((std::is_same_v)); - ASSERT_TRUE((std::is_same_v)); + static_assert(std::is_same_v); + static_assert(std::is_same_v); }); - for(auto curr: view.each()) { - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, const char &>)); + for(auto &&[entt, iv, cv]: view.each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); } } @@ -644,12 +642,11 @@ TEST(MultiComponentView, EmptyTypes) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.view().each([check = true](int, char) mutable { @@ -657,36 +654,33 @@ TEST(MultiComponentView, EmptyTypes) { check = false; }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.view().each([entity](const auto entt, int, char) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.view().each([entity](const auto entt, int, char) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.view().each([check = true](int, char) mutable { @@ -694,25 +688,23 @@ TEST(MultiComponentView, EmptyTypes) { check = false; }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 3); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } registry.view().each([entity](const auto entt, int, char, double) { ASSERT_EQ(entity, entt); }); - for(auto curr: registry.view().each()) { - ASSERT_EQ(std::tuple_size_v, 4); - ASSERT_TRUE((std::is_same_v, entt::entity>)); - ASSERT_TRUE((std::is_same_v, int &>)); - ASSERT_TRUE((std::is_same_v, char &>)); - ASSERT_TRUE((std::is_same_v, double &>)); - ASSERT_EQ(entity, std::get<0>(curr)); + for(auto &&[entt, iv, cv, dv]: registry.view().each()) { + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + static_assert(std::is_same_v); + ASSERT_EQ(entity, entt); } }