public void JobProcessComponentGroupCorrect() { m_Manager.CreateEntity(typeof(EcsTestData), typeof(EcsTestData2)); ComponentType[] expectedTypes = { ComponentType.ReadOnly <EcsTestData>(), ComponentType.Create <EcsTestData2>() }; new Process2().Run(EmptySystem); new Process2().Run(EmptySystem); var group = EmptySystem.GetComponentGroup(expectedTypes); Assert.AreEqual(1, EmptySystem.ComponentGroups.Length); Assert.IsTrue(EmptySystem.ComponentGroups[0].CompareComponents(expectedTypes)); Assert.AreEqual(group, EmptySystem.ComponentGroups[0]); }
public void GetComponentGroupWithDuplicates() { // Currently duplicates will create two seperate groups doing the same thing... ComponentType[] dup_1 = { typeof(EcsTestData2) }; ComponentType[] dup_2 = { typeof(EcsTestData2), typeof(EcsTestData2) }; var dup1_system = EmptySystem.GetComponentGroup(dup_1); var dup2_system = EmptySystem.GetComponentGroup(dup_2); Assert.AreEqual(dup1_system, EmptySystem.GetComponentGroup(dup_1)); Assert.AreEqual(dup2_system, EmptySystem.GetComponentGroup(dup_2)); Assert.AreEqual(2, EmptySystem.ComponentGroups.Length); }
public void GetComponentGroup() { ComponentType[] ro_rw = { ComponentType.ReadOnly <EcsTestData>(), typeof(EcsTestData2) }; ComponentType[] rw_rw = { typeof(EcsTestData), typeof(EcsTestData2) }; ComponentType[] rw = { typeof(EcsTestData) }; var ro_rw0_system = EmptySystem.GetComponentGroup(ro_rw); var rw_rw_system = EmptySystem.GetComponentGroup(rw_rw); var rw_system = EmptySystem.GetComponentGroup(rw); Assert.AreEqual(ro_rw0_system, EmptySystem.GetComponentGroup(ro_rw)); Assert.AreEqual(rw_rw_system, EmptySystem.GetComponentGroup(rw_rw)); Assert.AreEqual(rw_system, EmptySystem.GetComponentGroup(rw)); Assert.AreEqual(3, EmptySystem.ComponentGroups.Length); }
public void GetComponentGroupWithEntityThrows() { ComponentType[] e = { typeof(Entity), typeof(EcsTestData) }; EmptySystem.GetComponentGroup(e); Assert.Throws <ArgumentException>(() => EmptySystem.GetComponentGroup(e)); }