From 560e1429f1280af4fd7a8e0d3fcade152e599d83 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Mon, 10 Jul 2023 17:19:11 +0200 Subject: [PATCH] test: yet another non-failing test for the storage entity --- test/entt/entity/view.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/entt/entity/view.cpp b/test/entt/entity/view.cpp index f00a57cc0..949aaa370 100644 --- a/test/entt/entity/view.cpp +++ b/test/entt/entity/view.cpp @@ -1534,6 +1534,37 @@ TEST(MultiComponentView, StorageEntity) { }); } +TEST(MultiComponentView, StorageEntityWithExcludedComponent) { + entt::registry registry; + auto view = registry.view(entt::exclude); + + const auto entity = registry.create(); + const auto other = registry.create(); + const auto excluded = registry.create(); + + registry.emplace(entity); + registry.emplace(other); + registry.emplace(excluded); + + registry.emplace(excluded); + + registry.destroy(entity, entt::to_version(entity)); + + ASSERT_EQ(view.size_hint(), 3u); + ASSERT_NE(view.begin(), view.end()); + + ASSERT_EQ(std::distance(view.begin(), view.end()), 1); + ASSERT_EQ(*view.begin(), other); + + for(auto elem: view.each()) { + ASSERT_EQ(std::get<0>(elem), other); + } + + view.each([other](auto entt, auto &&...) { + ASSERT_EQ(entt, other); + }); +} + TEST(View, Pipe) { entt::registry registry; const auto entity = registry.create();