test: view ::use and ::refresh
This commit is contained in:
@@ -851,6 +851,36 @@ TEST(MultiComponentView, SizeHint) {
|
||||
ASSERT_EQ(view.begin(), view.end());
|
||||
}
|
||||
|
||||
TEST(MultiComponentView, UseAndRefresh) {
|
||||
entt::registry registry;
|
||||
entt::entity entity[3]{registry.create(), registry.create(), registry.create()};
|
||||
|
||||
registry.emplace<int>(entity[0u]);
|
||||
registry.emplace<int>(entity[1u]);
|
||||
|
||||
registry.emplace<char>(entity[1u]);
|
||||
registry.emplace<char>(entity[0u]);
|
||||
registry.emplace<char>(entity[2u]);
|
||||
|
||||
auto view = registry.view<int, char>(entt::exclude<double>);
|
||||
|
||||
view.use<int>();
|
||||
|
||||
ASSERT_EQ(view.handle()->type(), entt::type_id<int>());
|
||||
ASSERT_EQ(view.front(), entity[1u]);
|
||||
ASSERT_EQ(view.back(), entity[0u]);
|
||||
|
||||
view.use<char>();
|
||||
|
||||
ASSERT_EQ(view.handle()->type(), entt::type_id<char>());
|
||||
ASSERT_EQ(view.front(), entity[0u]);
|
||||
ASSERT_EQ(view.back(), entity[1u]);
|
||||
|
||||
view.refresh();
|
||||
|
||||
ASSERT_EQ(view.handle()->type(), entt::type_id<int>());
|
||||
}
|
||||
|
||||
TEST(MultiComponentView, Each) {
|
||||
entt::registry registry;
|
||||
entt::entity entity[2]{registry.create(), registry.create()};
|
||||
|
||||
Reference in New Issue
Block a user