summaryrefslogtreecommitdiff
path: root/engine-ecs/tests/query.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ecs/tests/query.rs')
-rw-r--r--engine-ecs/tests/query.rs43
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],
);
}