public void RemoveEntityDoesntRemoveFromListBeforeCommit()
        {
            var e = new RuntimeEntityService(Mock.Of <IEventDispatcher>(), Mock.Of <ILogger>());

            var entity = e.CreateEntity(new IComponent[0]);

            e.CommitAdded();
            e.RemoveEntity(entity);

            e.Entities.Should().Contain(entity);
        }
        public void RemoveEntityClearsListAfterCommit()
        {
            var e = new RuntimeEntityService(Mock.Of <IEventDispatcher>(), Mock.Of <ILogger>());

            var entity = e.CreateEntity(new IComponent[0]);

            e.CommitAdded();
            e.RemoveEntity(entity);
            e.CommitRemoved();

            e.RemovedEntities.Should().BeEmpty();
        }
        public void RemoveEntityRemovesFromListAfterCommit()
        {
            var e = new RuntimeEntityService(Mock.Of <IEventDispatcher>(), Mock.Of <ILogger>());

            var entity = e.CreateEntity(new IComponent[0]);

            e.CommitAdded();
            e.RemoveEntity(entity);
            e.CommitRemoved();

            e.Entities.Should().NotContain(entity);
            e.GetEntity(entity.Id).Should().BeNull();
        }