diff options
Diffstat (limited to 'engine-ecs/tests/query.rs')
| -rw-r--r-- | engine-ecs/tests/query.rs | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/engine-ecs/tests/query.rs b/engine-ecs/tests/query.rs index af47083..870ff42 100644 --- a/engine-ecs/tests/query.rs +++ b/engine-ecs/tests/query.rs @@ -2,11 +2,11 @@ use engine_ecs::component::Component; use engine_ecs::pair::{Pair, Wildcard}; use engine_ecs::query::term::Without; use engine_ecs::query::{ - TermWithFieldTuple as QueryTermWithFieldTuple, - TermWithoutFieldTuple as QueryTermWithoutFieldTuple, + TermTuple as QueryTermTuple, + Query, }; use engine_ecs::uid::Uid; -use engine_ecs::{Component, Query, World}; +use engine_ecs::{World, Component}; use parking_lot::{Mutex, Once}; pub static SETUP: Once = Once::new(); @@ -47,12 +47,11 @@ fn setup() }); } -fn assert_query_finds_ents<QueryFieldTerms, QueryFieldlessTerms>( - query: Query<'_, QueryFieldTerms, QueryFieldlessTerms>, +fn assert_query_finds_ents<'world, QueryTerms>( + query: Query<'world, QueryTerms>, mut expected_ent_ids: Vec<Uid>, ) where - QueryFieldTerms: QueryTermWithFieldTuple, - QueryFieldlessTerms: QueryTermWithoutFieldTuple, + QueryTerms: QueryTermTuple<'world>, { assert!( query.iter_with_euids().all(|(ent_id, _)| { @@ -96,7 +95,7 @@ fn query_archetype_exists_with_edges_to_next_archetypes() let ent_4_id = world.spawn((A, B, C, G, F)); assert_query_finds_ents( - world.query::<(&A, &B, &C), ()>(), + world.query::<(&A, &B, &C)>(), vec![ent_1_id, ent_2_id, ent_3_id, ent_4_id], ); } @@ -114,7 +113,7 @@ fn query_archetype_exists_with_2_comps_diff_to_next_archetype() let ent_2_id = world.spawn((A, B, F)); - assert_query_finds_ents(world.query::<(&A, &B, &F), ()>(), vec![ent_1_id, ent_2_id]); + assert_query_finds_ents(world.query::<(&A, &B, &F)>(), vec![ent_1_id, ent_2_id]); } #[test] @@ -130,7 +129,7 @@ fn query_archetype_exists_with_2_comps_diff_to_next_archetype_rev() let ent_2_id = world.spawn((A, B, C, D, F)); - assert_query_finds_ents(world.query::<(&A, &B, &F), ()>(), vec![ent_1_id, ent_2_id]); + assert_query_finds_ents(world.query::<(&A, &B, &F)>(), vec![ent_1_id, ent_2_id]); } #[test] @@ -146,7 +145,7 @@ fn query_archetype_exists_with_3_comps_diff_to_next_archetype() let ent_2_id = world.spawn((A, B, F)); - assert_query_finds_ents(world.query::<(&A, &B, &F), ()>(), vec![ent_1_id, ent_2_id]); + assert_query_finds_ents(world.query::<(&A, &B, &F)>(), vec![ent_1_id, ent_2_id]); } #[test] @@ -162,7 +161,7 @@ fn query_archetype_exists_with_3_comps_diff_to_next_archetype_rev() let ent_2_id = world.spawn((A, B, C, D, E, F)); - assert_query_finds_ents(world.query::<(&A, &B, &F), ()>(), vec![ent_1_id, ent_2_id]); + assert_query_finds_ents(world.query::<(&A, &B, &F)>(), vec![ent_1_id, ent_2_id]); } #[test] @@ -178,7 +177,7 @@ fn query_archetype_exists_with_4_comps_diff_to_next_archetype() let ent_2_id = world.spawn((A, B, G)); - assert_query_finds_ents(world.query::<(&A, &B, &G), ()>(), vec![ent_1_id, ent_2_id]); + assert_query_finds_ents(world.query::<(&A, &B, &G)>(), vec![ent_1_id, ent_2_id]); } #[test] @@ -194,7 +193,7 @@ fn query_archetype_exists_with_4_comps_diff_to_next_archetype_rev() let ent_2_id = world.spawn((A, B, C, D, E, F, G)); - assert_query_finds_ents(world.query::<(&A, &B, &G), ()>(), vec![ent_1_id, ent_2_id]); + assert_query_finds_ents(world.query::<(&A, &B, &G)>(), vec![ent_1_id, ent_2_id]); } #[test] @@ -211,7 +210,7 @@ fn query_archetype_exists_with_4_comps_diff_to_next_archetype_and_opt_comp() let ent_2_id = world.spawn((A, B, G)); assert_query_finds_ents( - world.query::<(&A, Option<&E>, &G), ()>(), + world.query::<(&A, Option<&E>, &G)>(), vec![ent_1_id, ent_2_id], ); } @@ -232,7 +231,7 @@ fn query_archetype_nonexistant() world.spawn((A, B, C, G, F)); - assert_query_finds_ents(world.query::<(&A, &E), ()>(), vec![ent_2_id, ent_3_id]); + assert_query_finds_ents(world.query::<(&A, &E)>(), vec![ent_2_id, ent_3_id]); } #[test] @@ -250,7 +249,7 @@ fn query_archetype_nonexistant_and_opt_comp() world.spawn((A, B, C, G, F)); assert_query_finds_ents( - world.query::<(&A, &E, Option<&D>), ()>(), + world.query::<(&A, &E, Option<&D>)>(), vec![ent_2_id, ent_3_id], ); } @@ -273,7 +272,7 @@ fn query_without_comp_and_archetype_exists() let ent_3_id = world.spawn((A, B, C, G, F)); assert_query_finds_ents( - world.query::<(&A, &B, &C), (Without<E>,)>(), + world.query::<(&A, &B, &C, Without<E>)>(), vec![ent_1_id, ent_2_id, ent_3_id], ); } @@ -295,7 +294,7 @@ fn query_without_required_comp_and_archetype_exists() world.spawn((A, B, C, G)); world.spawn((A, B, C, G, F)); - assert_query_finds_ents(world.query::<(&A, &B), (Without<B>,)>(), vec![]); + assert_query_finds_ents(world.query::<(&A, &B, Without<B>)>(), vec![]); } #[test] @@ -317,7 +316,7 @@ fn query_without_comp_and_archetype_nonexistant() world.spawn((A, B, C, G, F, E)); assert_query_finds_ents( - world.query::<(&A, &E), (Without<F>,)>(), + world.query::<(&A, &E, Without<F>)>(), vec![ent_1_id, ent_2_id], ); } @@ -363,7 +362,7 @@ fn query_with_wildcard_target_pair() )); assert_query_finds_ents( - world.query::<(&B, Pair<G, Wildcard>), ()>(), + world.query::<(&B, Pair<G, Wildcard>)>(), vec![ent_2_id, ent_3_id, ent_4_id], ); } @@ -407,7 +406,7 @@ fn query_with_component_target_pair() )); assert_query_finds_ents( - world.query::<(&B, Pair<G, &F>), ()>(), + world.query::<(&B, Pair<G, &F>)>(), vec![ent_2_id, ent_3_id], ); } |
