public void PrimaryEntityIndexCanReleaseEntityWhenComponentGetsRemoved() { SetupActivatedPrimaryEntityIndex(); _entity.RemoveComponent(CID.ComponentA); Assert.IsNull(_primaryIndex.GetEntity(NAME)); Assert.AreEqual(1, _entity.RetainCount); // Context }
public void EntityIndexReleasesAndRemovesEntityFromIndexWhenComponentRemoved() { SetupActivatedSingleKeyEntityIndex(); _entity1.RemoveComponent(CID.ComponentA); Assert.AreEqual(1, _index.GetEntities(NAME).Count); Assert.AreEqual(1, _entity1.RetainCount); // Context }
public void ComponentPoolGetsNonPoolCreatedInstanceWhenRemoved() { var component = new NameAgeComponent(); _defaultEntity.AddComponent(1, component); _defaultEntity.RemoveComponent(1); var newComponent = (NameAgeComponent)_defaultEntity.CreateComponent(1, typeof(NameAgeComponent)); Assert.AreEqual(component, newComponent); }