public void CopiesOfAllComponentsAddedToTargetEntity() { _originalEntity.AddComponentA(); _originalEntity.AddComponent(MyTestComponentsLookup.NameAge, _nameAge); _originalEntity.CopyTo(_targetEntity); Assert.AreEqual(2, _targetEntity.GetComponents().Length); Assert.IsTrue(_targetEntity.HasComponentA()); Assert.IsTrue(_targetEntity.HasNameAge); Assert.AreNotEqual(Component.A, _targetEntity.GetComponentA()); Assert.AreNotEqual(_nameAge, _targetEntity.NameAge); var clonedComponent = (NameAgeComponent)_targetEntity.GetComponent(MyTestComponentsLookup.NameAge); Assert.AreEqual(_nameAge.name, clonedComponent.name); Assert.AreEqual(_nameAge.age, clonedComponent.age); }
public void CopiesOfAllComponentsAddedToTargetEntity() { _entity.AddComponentA(); _entity.AddComponent(CID.ComponentB, _nameAge); #pragma warning disable CS0618 // Type or member is obsolete #pragma warning disable HAA0101 // Array allocation for params parameter _entity.CopyTo(_target); #pragma warning restore HAA0101 // Array allocation for params parameter #pragma warning restore CS0618 // Type or member is obsolete Assert.AreEqual(2, _target.GetComponents().Length); Assert.IsTrue(_target.HasComponentA()); Assert.IsTrue(_target.HasComponentB()); Assert.AreNotEqual(Component.A, _target.GetComponentA()); Assert.AreNotEqual(_nameAge, _target.GetComponent(CID.ComponentB)); var clonedComponent = (NameAgeComponent)_target.GetComponent(CID.ComponentB); Assert.AreEqual(_nameAge.name, clonedComponent.name); Assert.AreEqual(_nameAge.age, clonedComponent.age); }
public void AllEventHandlersAreRemovedFromGroup() { _groupA.OnEntityAdded += delegate { Assert.Fail(); }; _groupA.OnEntityRemoved += delegate { Assert.Fail(); }; _groupA.OnEntityUpdated += delegate { Assert.Fail(); }; _groupA.RemoveAllEventHandlers(); HandleAddEntityWithAComponent(_entityWithAComponent1); var cA = _entityWithAComponent1.GetComponentA(); _entityWithAComponent1.RemoveComponentA(); HandleRemoveEntityWithAComponent(_entityWithAComponent1, cA); _entityWithAComponent1.AddComponentA(); HandleAddEntityWithAComponent(_entityWithAComponent1); HandleUpdateEntityWithAComponent(_entityWithAComponent1, Component.A); }
private void AssertHasComponentA(MyTestEntity e, IComponent componentA = null) { if (componentA == null) { componentA = Component.A; } Assert.AreEqual(componentA, e.GetComponentA()); var components = e.GetComponents(); Assert.AreEqual(1, components.Length); Assert.Contains(componentA, components); var indices = e.GetComponentIndices(); Assert.AreEqual(1, indices.Length); Assert.Contains(MyTestComponentsLookup.ComponentA, indices); Assert.IsTrue(e.HasComponentA()); Assert.IsTrue(e.HasComponents(_indicesA)); Assert.IsTrue(e.HasAnyComponent(_indicesA)); }
public void CannotRetrieveNonExistentComponentFromEntity() { Assert.Throws <EntityDoesNotHaveComponentException>(() => _defaultEntity.GetComponentA()); }
private void HandleAddEntityWithAComponent(MyTestEntity entity) { Handle(entity, CID.ComponentA, entity.GetComponentA()); }