public void AddingAndRemovingHandlerInTheSameFrameExecutesNoCode() { var entity = new MockEntity().Start <IncrementCounter>(); entity.Stop <IncrementCounter>(); entities.RunEntities(); Assert.IsFalse(entity.Contains <string>()); }
public void RemovingHandlerWhenNeverAddedExecutesNoCode() { var entity = new MockEntity(); entities.RunEntities(); entity.Stop <IncrementCounter>(); entities.RunEntities(); Assert.IsFalse(entity.Contains <string>()); }
public void SelectingEntityHandlerProcessesEntitiesThatPassTheSelectionCriteria() { var entities = new MockEntitiesRunner(typeof(IncludeOnlyEntitiesWithPositiveFloats)); var first = new MockEntity().Start <IncludeOnlyEntitiesWithPositiveFloats>().Add(3.0f); var excluded = new MockEntity().Start <IncludeOnlyEntitiesWithPositiveFloats>().Add(-1.0f); var second = new MockEntity().Start <IncludeOnlyEntitiesWithPositiveFloats>().Add(2.0f); entities.RunEntities(); var start = first.Get <int>(); Assert.IsFalse(excluded.Contains <int>()); Assert.AreEqual(start + 1, second.Get <int>()); }
public void AddAndRemoveComponent() { Assert.AreEqual(1, entities.NumberOfEntities); var entity = new MockEntity().Add(new object()); Assert.AreEqual(2, entities.NumberOfEntities); Assert.AreEqual(1, entity.NumberOfComponents); Assert.IsNotNull(entity.Get <object>()); entity.Remove <object>(); Assert.AreEqual(0, entity.NumberOfComponents); Assert.IsFalse(entity.Contains <object>()); Assert.Throws <ArgumentNullException>(() => new MockEntity().Add <object>(null)); }