public void AddingAndRemovingHandlerInTheSameFrameExecutesNoCode() { var entity = new MockEntity().Start<IncrementCounter>(); 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)); }
public void RemovingHandlerWhenNeverAddedExecutesNoCode() { var entity = new MockEntity(); entities.RunEntities(); entity.Stop<IncrementCounter>(); entities.RunEntities(); Assert.IsFalse(entity.Contains<string>()); }