From 1375adf63d1946bab973d964fdc12b033890acca Mon Sep 17 00:00:00 2001 From: Evan Hemsley <2342303+ehemsley@users.noreply.github.com> Date: Wed, 19 Jun 2019 18:01:08 -0700 Subject: [PATCH] general renderer read tests --- test/GeneralRendererTest.cs | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 test/GeneralRendererTest.cs diff --git a/test/GeneralRendererTest.cs b/test/GeneralRendererTest.cs new file mode 100644 index 0000000..817b4a1 --- /dev/null +++ b/test/GeneralRendererTest.cs @@ -0,0 +1,67 @@ +using NUnit.Framework; + +using System; +using System.Collections.Generic; + +using Encompass; + +namespace Tests +{ + public class GeneralRendererTest + { + struct AComponent : IComponent { } + + public class SingletonRead + { + static KeyValuePair result; + + class TestRenderer : GeneralRenderer + { + public new int Layer { get { return 1; } } + + public override void Render() + { + result = ReadComponent(); + } + } + + [Test] + public void SingletonComponent() + { + var worldBuilder = new WorldBuilder(); + worldBuilder.AddRenderer(); + + AComponent aComponent; + + var entity = worldBuilder.CreateEntity(); + var componentID = entity.AddComponent(aComponent); + + var world = worldBuilder.Build(); + + world.Update(0.01f); + world.Draw(); + + Assert.That(result, Is.EqualTo(new KeyValuePair(componentID, aComponent))); + } + + [Test] + public void MultipleComponents() + { + var worldBuilder = new WorldBuilder(); + worldBuilder.AddRenderer(); + + AComponent aComponent; + AComponent aComponentTwo; + + var entity = worldBuilder.CreateEntity(); + var componentID = entity.AddComponent(aComponent); + var componentTwoID = entity.AddComponent(aComponentTwo); + var world = worldBuilder.Build(); + + world.Update(0.01f); + + Assert.Throws(() => world.Draw()); + } + } + } +}