public void TestReset() { var registry = new ServiceRegistry(); var entityManager = new CustomEntityManager(registry); // Entity with a sub-Entity var childEntity0 = new Entity(); var entity = new Entity(); entity.AddChild(childEntity0); // ================================================================ // 1) Add entity with sub-entity and check EntityManager and TransformProcessor // ================================================================ entityManager.Add(entity); var transformProcessor = entityManager.GetProcessor <TransformProcessor>(); Assert.NotNull(transformProcessor); Assert.Equal(2, entityManager.Count); Assert.Single(transformProcessor.TransformationRoots); Assert.Contains(entity.Transform, transformProcessor.TransformationRoots); // ================================================================ // 2) Reset the manager // ================================================================ entityManager.Reset(); Assert.Empty(entityManager); Assert.Empty(entityManager.MapComponentTypeToProcessors); Assert.Empty(entityManager.Processors); Assert.Empty(transformProcessor.TransformationRoots); Assert.Null(transformProcessor.EntityManager); }