public void IfComponentRemovedThatMakesThisEntityNoLongerMatch_RemovedFromNodes() { var family = new ComponentMatchingFamily <Node <MockComponentA> >(); var entityA = new MockEntity <MockComponentA>(); family.EntityAdded(entityA); family.ComponentRemoved(entityA, typeof(MockComponentA)); Assert.IsEmpty(family.Nodes); }
public void IfComponentRemovedButTheEntityStillMatches_NothingHappens() { var family = new ComponentMatchingFamily <Node <MockComponentA> >(); var entityA = new MockEntity <MockComponentA>(); family.EntityAdded(entityA); family.ComponentRemoved(entityA, typeof(MockComponentB)); Assert.AreEqual(family.Nodes.Count(), 1); Assert.AreEqual(family.Nodes.ToList()[0].Component1, entityA.Components[0]); }
public void IfComponentRemovedFromAnEntityNotInTheList_NothingHappens() { var family = new ComponentMatchingFamily <Node <MockComponentA> >(); var entity1 = new MockEntity <MockComponentA>(); var entity2 = new MockEntity <MockComponentB>(); family.EntityAdded(entity1); family.EntityAdded(entity2); Assert.AreEqual(family.Nodes.Count(), 1); Assert.AreEqual(family.Nodes.ToList()[0].Component1, entity1.Components[0]); family.ComponentRemoved(entity2, typeof(MockComponentA)); Assert.AreEqual(family.Nodes.Count(), 1); Assert.AreEqual(family.Nodes.ToList()[0].Component1, entity1.Components[0]); }