From acea7b2e728787a0d83bbf83c8c1f042d2c32e7e Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Mon, 3 Jun 2024 10:15:45 +0800 Subject: + plugins project --- .../ComponentManagerTests.cs | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Plugins/MonoGame.Extended/tests/MonoGame.Extended.Entities.Tests/ComponentManagerTests.cs (limited to 'Plugins/MonoGame.Extended/tests/MonoGame.Extended.Entities.Tests/ComponentManagerTests.cs') diff --git a/Plugins/MonoGame.Extended/tests/MonoGame.Extended.Entities.Tests/ComponentManagerTests.cs b/Plugins/MonoGame.Extended/tests/MonoGame.Extended.Entities.Tests/ComponentManagerTests.cs new file mode 100644 index 0000000..8d988e4 --- /dev/null +++ b/Plugins/MonoGame.Extended/tests/MonoGame.Extended.Entities.Tests/ComponentManagerTests.cs @@ -0,0 +1,47 @@ +using MonoGame.Extended.Sprites; +using Xunit; + +namespace MonoGame.Extended.Entities.Tests +{ + public class ComponentManagerTests + { + [Fact] + public void GetMapperForType() + { + var componentManager = new ComponentManager(); + var transformMapper = componentManager.GetMapper(); + var spriteMapper = componentManager.GetMapper(); + + Assert.IsType>(transformMapper); + Assert.IsType>(spriteMapper); + Assert.Equal(0, transformMapper.Id); + Assert.Equal(1, spriteMapper.Id); + Assert.Same(spriteMapper, componentManager.GetMapper()); + } + + [Fact] + public void GetComponentTypeId() + { + var componentManager = new ComponentManager(); + + Assert.Equal(0, componentManager.GetComponentTypeId(typeof(Transform2))); + Assert.Equal(1, componentManager.GetComponentTypeId(typeof(Sprite))); + Assert.Equal(0, componentManager.GetComponentTypeId(typeof(Transform2))); + } + + //[Fact] + //public void GetCompositionIdentity() + //{ + // var compositionBits = new BitArray(3) + // { + // [0] = true, + // [1] = false, + // [2] = true + // }; + // var componentManager = new ComponentManager(); + // var identity = componentManager.GetCompositionIdentity(compositionBits); + + // Assert.Equal(0b101, identity); + //} + } +} \ No newline at end of file -- cgit v1.1-26-g67d0