using NUnit.Framework; using Robust.Shared.GameObjects; using Robust.Shared.Map; using Robust.UnitTesting.Server; namespace Robust.UnitTesting.Shared.GameObjects { [TestFixture, Parallelizable] sealed class EntityManagerTests { private static ISimulation SimulationFactory() { var sim = RobustServerSimulation .NewSimulation() .InitializeInstance(); return sim; } /// /// The entity prototype can define field on the TransformComponent, just like any other component. /// [Test] public void SpawnEntity_PrototypeTransform_Works() { var sim = SimulationFactory(); var map = sim.CreateMap().MapId; var entMan = sim.Resolve(); var newEnt = entMan.SpawnEntity(null, new MapCoordinates(0, 0, map)); Assert.That(newEnt, Is.Not.EqualTo(EntityUid.Invalid)); } [Test] public void ComponentCount_Works() { var sim = RobustServerSimulation.NewSimulation().InitializeInstance(); var entManager = sim.Resolve(); var mapManager = sim.Resolve(); Assert.That(entManager.Count(), Is.EqualTo(0)); var mapId = sim.CreateMap().MapId; Assert.That(entManager.Count(), Is.EqualTo(1)); mapManager.DeleteMap(mapId); Assert.That(entManager.Count(), Is.EqualTo(0)); } } }