Add insert_if_new
test for sparse set. (#19387)
Fixes #19081. Simply created a duplicate of the existing `insert_if_new` test, but using sparse sets. ## Testing: The test passes on main, but fails if #19059 is reverted.
This commit is contained in:
parent
33b3c08515
commit
7d32dfec18
@ -2237,6 +2237,28 @@ mod tests {
|
|||||||
assert_eq!(entity.get(), Some(&V("one")));
|
assert_eq!(entity.get(), Some(&V("one")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Component, Debug, Eq, PartialEq)]
|
||||||
|
#[component(storage = "SparseSet")]
|
||||||
|
pub struct SparseV(&'static str);
|
||||||
|
|
||||||
|
#[derive(Component, Debug, Eq, PartialEq)]
|
||||||
|
#[component(storage = "SparseSet")]
|
||||||
|
pub struct SparseA;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn sparse_set_insert_if_new() {
|
||||||
|
let mut world = World::new();
|
||||||
|
let id = world.spawn(SparseV("one")).id();
|
||||||
|
let mut entity = world.entity_mut(id);
|
||||||
|
entity.insert_if_new(SparseV("two"));
|
||||||
|
entity.insert_if_new((SparseA, SparseV("three")));
|
||||||
|
entity.flush();
|
||||||
|
// should still contain "one"
|
||||||
|
let entity = world.entity(id);
|
||||||
|
assert!(entity.contains::<SparseA>());
|
||||||
|
assert_eq!(entity.get(), Some(&SparseV("one")));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn sorted_remove() {
|
fn sorted_remove() {
|
||||||
let mut a = vec![1, 2, 3, 4, 5, 6, 7];
|
let mut a = vec![1, 2, 3, 4, 5, 6, 7];
|
||||||
|
Loading…
Reference in New Issue
Block a user