using System; using System.Collections.Generic; using System.Text; using Encompass; using Encompass.Engines; using NUnit.Framework; namespace Tests { public class SpawnerTest { struct TestComponent : IComponent { } struct SpawnMessageA : IMessage { } static Entity resultEntity; class TestSpawner : Spawner { protected override void Spawn(SpawnMessageA message) { resultEntity = CreateEntity(); resultEntity.AddComponent(new TestComponent()); } } [Test] public void RunsSpawnMethodOnMessageRead() { var worldBuilder = new WorldBuilder(); worldBuilder.AddEngine(new TestSpawner()); worldBuilder.EmitMessage(new SpawnMessageA()); var world = worldBuilder.Build(); world.Update(0.01); Assert.That(resultEntity.HasComponent(), Is.True); var id = resultEntity.id; world.Update(0.01); Assert.That(resultEntity.id, Is.EqualTo(id)); } } }