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>());
        }
Beispiel #3
0
        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>());
        }
Beispiel #4
0
        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));
        }