use of org.joml.Vector3i in project Terasology by MovingBlocks.
the class EntityAwareWorldProviderTest method testEntityExtraComponentsRemovedBeforeCleanUp.
@Test
public void testEntityExtraComponentsRemovedBeforeCleanUp() {
EntityRef entity = worldProvider.getBlockEntityAt(new Vector3i());
entity.addComponent(new StringComponent("test"));
LifecycleEventChecker checker = new LifecycleEventChecker(entityManager.getEventSystem(), StringComponent.class);
worldProvider.update(1.0f);
assertEquals(Lists.newArrayList(new EventInfo(BeforeDeactivateComponent.newInstance(), entity), new EventInfo(BeforeRemoveComponent.newInstance(), entity)), checker.receivedEvents);
}
use of org.joml.Vector3i in project Terasology by MovingBlocks.
the class EntityAwareWorldProviderTest method testGetTemporaryBlockSendsNoEvent.
@Test
public void testGetTemporaryBlockSendsNoEvent() {
BlockEventChecker checker = new BlockEventChecker();
entityManager.getEventSystem().registerEventHandler(checker);
EntityRef blockEntity = worldProvider.getBlockEntityAt(new Vector3i());
assertTrue(blockEntity.exists());
assertFalse(checker.addedReceived);
assertFalse(checker.activateReceived);
assertFalse(checker.deactivateReceived);
assertFalse(checker.removedReceived);
}
use of org.joml.Vector3i in project Terasology by MovingBlocks.
the class EntityAwareWorldProviderTest method testNetworkComponentRemovedWhenTemporaryCleanedUp.
@Test
public void testNetworkComponentRemovedWhenTemporaryCleanedUp() {
EntityRef entity = worldProvider.getBlockEntityAt(new Vector3i());
entity.addComponent(new RetainedOnBlockChangeComponent(2));
LifecycleEventChecker checker = new LifecycleEventChecker(entityManager.getEventSystem(), NetworkComponent.class);
entity.removeComponent(RetainedOnBlockChangeComponent.class);
worldProvider.update(1.0f);
assertEquals(Lists.newArrayList(new EventInfo(BeforeDeactivateComponent.newInstance(), entity), new EventInfo(BeforeRemoveComponent.newInstance(), entity)), checker.receivedEvents);
}
use of org.joml.Vector3i in project Terasology by MovingBlocks.
the class EntityAwareWorldProviderTest method testBlockEntityPrefabCorrectlyRemovedOnChangeToBlockWithNoPrefab.
@Disabled("Failing due to #2625. TODO: fix to match new behaviour")
@Test
public void testBlockEntityPrefabCorrectlyRemovedOnChangeToBlockWithNoPrefab() {
worldProvider.setBlock(new Vector3i(), blockWithString);
EntityRef entity = worldProvider.getBlockEntityAt(new Vector3i());
worldProvider.setBlock(new Vector3i(), plainBlock);
assertEquals(null, entity.getParentPrefab());
}
use of org.joml.Vector3i in project Terasology by MovingBlocks.
the class EntityAwareWorldProviderTest method testEntityMissingComponentsAddedBeforeCleanUp.
@Test
public void testEntityMissingComponentsAddedBeforeCleanUp() {
worldStub.setBlock(new Vector3i(), blockWithString);
EntityRef entity = worldProvider.getBlockEntityAt(new Vector3i());
entity.removeComponent(StringComponent.class);
LifecycleEventChecker checker = new LifecycleEventChecker(entityManager.getEventSystem(), StringComponent.class);
worldProvider.update(1.0f);
assertEquals(Lists.newArrayList(new EventInfo(OnAddedComponent.newInstance(), entity), new EventInfo(OnActivatedComponent.newInstance(), entity)), checker.receivedEvents);
}
Aggregations