more tests
This commit is contained in:
@@ -46,6 +46,37 @@ TEST(View, SingleComponent) {
|
||||
ASSERT_TRUE(view.empty());
|
||||
}
|
||||
|
||||
TEST(View, SingleComponentBeginEnd) {
|
||||
entt::DefaultRegistry registry;
|
||||
auto view = registry.view<int>();
|
||||
|
||||
for(auto i = 0; i < 3; ++i) {
|
||||
registry.assign<int>(registry.create());
|
||||
}
|
||||
|
||||
auto begin = view.begin();
|
||||
auto end = view.end();
|
||||
|
||||
ASSERT_NE(begin, end);
|
||||
ASSERT_NE(++begin, end);
|
||||
ASSERT_NE(begin++, end);
|
||||
ASSERT_EQ(begin+1, end);
|
||||
ASSERT_NE(begin, end);
|
||||
ASSERT_EQ((begin += 1), end);
|
||||
ASSERT_EQ(begin, end);
|
||||
|
||||
auto cbegin = view.cbegin();
|
||||
auto cend = view.cend();
|
||||
|
||||
ASSERT_NE(cbegin, cend);
|
||||
ASSERT_NE(++cbegin, cend);
|
||||
ASSERT_NE(cbegin++, cend);
|
||||
ASSERT_EQ(cbegin+1, cend);
|
||||
ASSERT_NE(cbegin, cend);
|
||||
ASSERT_EQ((cbegin += 1), cend);
|
||||
ASSERT_EQ(cbegin, cend);
|
||||
}
|
||||
|
||||
TEST(View, SingleComponentContains) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
@@ -86,13 +117,8 @@ TEST(View, SingleComponentEmpty) {
|
||||
TEST(View, SingleComponentEach) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
const auto e0 = registry.create();
|
||||
registry.assign<int>(e0);
|
||||
registry.assign<char>(e0);
|
||||
|
||||
const auto e1 = registry.create();
|
||||
registry.assign<int>(e1);
|
||||
registry.assign<char>(e1);
|
||||
registry.assign<int>(registry.create());
|
||||
registry.assign<int>(registry.create());
|
||||
|
||||
auto view = registry.view<int>();
|
||||
const auto &cview = static_cast<const decltype(view) &>(view);
|
||||
@@ -155,6 +181,39 @@ TEST(View, MultipleComponent) {
|
||||
ASSERT_TRUE(view.empty());
|
||||
}
|
||||
|
||||
TEST(View, MultipleComponentBeginEnd) {
|
||||
entt::DefaultRegistry registry;
|
||||
auto view = registry.view<int, char>();
|
||||
|
||||
for(auto i = 0; i < 3; ++i) {
|
||||
const auto entity = registry.create();
|
||||
registry.assign<int>(entity);
|
||||
registry.assign<char>(entity);
|
||||
}
|
||||
|
||||
auto begin = view.begin();
|
||||
auto end = view.end();
|
||||
|
||||
ASSERT_NE(begin, end);
|
||||
ASSERT_NE(++begin, end);
|
||||
ASSERT_NE(begin++, end);
|
||||
ASSERT_EQ(begin+1, end);
|
||||
ASSERT_NE(begin, end);
|
||||
ASSERT_EQ((begin += 1), end);
|
||||
ASSERT_EQ(begin, end);
|
||||
|
||||
auto cbegin = view.cbegin();
|
||||
auto cend = view.cend();
|
||||
|
||||
ASSERT_NE(cbegin, cend);
|
||||
ASSERT_NE(++cbegin, cend);
|
||||
ASSERT_NE(cbegin++, cend);
|
||||
ASSERT_EQ(cbegin+1, cend);
|
||||
ASSERT_NE(cbegin, cend);
|
||||
ASSERT_EQ((cbegin += 1), cend);
|
||||
ASSERT_EQ(cbegin, cend);
|
||||
}
|
||||
|
||||
TEST(View, MultipleComponentContains) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
@@ -315,6 +374,39 @@ TEST(PersistentView, NoPrepare) {
|
||||
ASSERT_TRUE(view.empty());
|
||||
}
|
||||
|
||||
TEST(PersistentView, BeginEnd) {
|
||||
entt::DefaultRegistry registry;
|
||||
auto view = registry.persistent<int, char>();
|
||||
|
||||
for(auto i = 0; i < 3; ++i) {
|
||||
const auto entity = registry.create();
|
||||
registry.assign<int>(entity);
|
||||
registry.assign<char>(entity);
|
||||
}
|
||||
|
||||
auto begin = view.begin();
|
||||
auto end = view.end();
|
||||
|
||||
ASSERT_NE(begin, end);
|
||||
ASSERT_NE(++begin, end);
|
||||
ASSERT_NE(begin++, end);
|
||||
ASSERT_EQ(begin+1, end);
|
||||
ASSERT_NE(begin, end);
|
||||
ASSERT_EQ((begin += 1), end);
|
||||
ASSERT_EQ(begin, end);
|
||||
|
||||
auto cbegin = view.cbegin();
|
||||
auto cend = view.cend();
|
||||
|
||||
ASSERT_NE(cbegin, cend);
|
||||
ASSERT_NE(++cbegin, cend);
|
||||
ASSERT_NE(cbegin++, cend);
|
||||
ASSERT_EQ(cbegin+1, cend);
|
||||
ASSERT_NE(cbegin, cend);
|
||||
ASSERT_EQ((cbegin += 1), cend);
|
||||
ASSERT_EQ(cbegin, cend);
|
||||
}
|
||||
|
||||
TEST(PersistentView, Contains) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
@@ -488,3 +580,22 @@ TEST(RawView, Empty) {
|
||||
FAIL();
|
||||
}
|
||||
}
|
||||
|
||||
TEST(RawView, Each) {
|
||||
entt::DefaultRegistry registry;
|
||||
|
||||
registry.assign<int>(registry.create(), 1);
|
||||
registry.assign<int>(registry.create(), 3);
|
||||
|
||||
auto view = registry.raw<int>();
|
||||
const auto &cview = static_cast<const decltype(view) &>(view);
|
||||
std::size_t cnt = 0;
|
||||
|
||||
view.each([&cnt](int &v) { cnt += (v % 2); });
|
||||
|
||||
ASSERT_EQ(cnt, std::size_t{2});
|
||||
|
||||
cview.each([&cnt](const int &v) { cnt -= (v % 2); });
|
||||
|
||||
ASSERT_EQ(cnt, std::size_t{0});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user