encompass-cs/test/SpawnerTest.cs

48 lines
1.1 KiB
C#

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<SpawnMessageA>
{
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<TestComponent>(), Is.True);
var id = resultEntity.id;
world.Update(0.01);
Assert.That(resultEntity.id, Is.EqualTo(id));
}
}
}