Show More
Commit Description:
Tidy code.
Commit Description:
Tidy code.
References:
File last commit:
Show/Diff file:
Action:
encompass-cs/test/SpawnerTest.cs
46 lines | 1.2 KiB | text/x-csharp | CSharpLexer
46 lines | 1.2 KiB | text/x-csharp | CSharpLexer
r169 | using Encompass; | |||
using NUnit.Framework; | ||||
namespace Tests | ||||
{ | ||||
public class SpawnerTest | ||||
{ | ||||
struct TestComponent : IComponent { } | ||||
struct SpawnMessageA : IMessage { } | ||||
static Entity resultEntity; | ||||
[Sends(typeof(SpawnMessageA))] | ||||
class MessageEmitter : Engine | ||||
{ | ||||
public override void Update(double dt) | ||||
{ | ||||
SendMessage(new SpawnMessageA()); | ||||
} | ||||
} | ||||
[WritesImmediate(typeof(TestComponent))] | ||||
[Writes(typeof(TestComponent))] | ||||
class TestSpawner : Spawner<SpawnMessageA> | ||||
{ | ||||
protected override void Spawn(in SpawnMessageA message) | ||||
{ | ||||
resultEntity = CreateEntity(); | ||||
SetComponent(resultEntity, new TestComponent()); | ||||
Assert.Pass(); | ||||
} | ||||
} | ||||
[Test] | ||||
public void RunsSpawnMethodOnMessageRead() | ||||
{ | ||||
var worldBuilder = new WorldBuilder(); | ||||
worldBuilder.AddEngine(new MessageEmitter()); | ||||
worldBuilder.AddEngine(new TestSpawner()); | ||||
var world = worldBuilder.Build(); | ||||
world.Update(0.01); | ||||
} | ||||
} | ||||
} | ||||