summaryrefslogtreecommitdiff
path: root/core/src/test/java/coffee/liz/ecs
diff options
context:
space:
mode:
authorElizabeth Alexander Hunt <me@liz.coffee>2026-03-01 12:54:31 -0800
committerElizabeth Alexander Hunt <me@liz.coffee>2026-03-01 12:54:47 -0800
commit242b32050feff1d7f047e52d46daadd3ec682c14 (patch)
tree6207a3f350946ae3b1c2764b2bb9321473f6bfaa /core/src/test/java/coffee/liz/ecs
parentc491b5cb08972ffc041fa0b968810373b9ed79a3 (diff)
downloaddyl-242b32050feff1d7f047e52d46daadd3ec682c14.tar.gz
dyl-242b32050feff1d7f047e52d46daadd3ec682c14.zip
Adding animations n stuff.
Diffstat (limited to 'core/src/test/java/coffee/liz/ecs')
-rw-r--r--core/src/test/java/coffee/liz/ecs/common/components/physics/BoundingBoxTest.java45
-rw-r--r--core/src/test/java/coffee/liz/ecs/common/systems/physics/CollisionGridTest.java50
-rw-r--r--core/src/test/java/coffee/liz/ecs/common/systems/physics/PhysicsSystemsTest.java78
3 files changed, 0 insertions, 173 deletions
diff --git a/core/src/test/java/coffee/liz/ecs/common/components/physics/BoundingBoxTest.java b/core/src/test/java/coffee/liz/ecs/common/components/physics/BoundingBoxTest.java
deleted file mode 100644
index 2372456..0000000
--- a/core/src/test/java/coffee/liz/ecs/common/components/physics/BoundingBoxTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package coffee.liz.ecs.common.components.physics;
-
-import coffee.liz.ecs.math.Vec2f;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class BoundingBoxTest {
- @Test
- public void isCollidingWith_overlapping() {
- final BoundingBox a = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(2f, 2f));
- final BoundingBox b = new BoundingBox(new Vec2f(1f, 1f), new Vec2f(2f, 2f));
- assertTrue(a.isCollidingWith(b));
- assertTrue(b.isCollidingWith(a));
- }
-
- @Test
- public void isCollidingWith_notOverlapping() {
- final BoundingBox a = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- final BoundingBox b = new BoundingBox(new Vec2f(2f, 2f), new Vec2f(1f, 1f));
- assertFalse(a.isCollidingWith(b));
- }
-
- @Test
- public void isCollidingWith_touching_isNotColliding() {
- final BoundingBox a = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- final BoundingBox b = new BoundingBox(new Vec2f(1f, 0f), new Vec2f(1f, 1f));
- assertFalse(a.isCollidingWith(b));
- }
-
- @Test
- public void isAbove_returnsTrue_whenBottomAtOrAboveOtherTop() {
- final BoundingBox a = new BoundingBox(new Vec2f(0f, 2f), new Vec2f(1f, 1f));
- final BoundingBox b = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- assertTrue(a.isAbove(b));
- }
-
- @Test
- public void isAbove_returnsFalse_whenOverlapping() {
- final BoundingBox a = new BoundingBox(new Vec2f(0f, 0.5f), new Vec2f(1f, 1f));
- final BoundingBox b = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- assertFalse(a.isAbove(b));
- }
-}
diff --git a/core/src/test/java/coffee/liz/ecs/common/systems/physics/CollisionGridTest.java b/core/src/test/java/coffee/liz/ecs/common/systems/physics/CollisionGridTest.java
deleted file mode 100644
index d5670aa..0000000
--- a/core/src/test/java/coffee/liz/ecs/common/systems/physics/CollisionGridTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package coffee.liz.ecs.common.systems.physics;
-
-import coffee.liz.ecs.common.components.physics.BoundingBox;
-import coffee.liz.ecs.math.Vec2f;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class CollisionGridTest {
- private final CollisionGrid grid = new CollisionGrid();
-
- @BeforeEach
- public void setup() {
- grid.setOrigin(new Vec2f(0f, 0f));
- grid.setCellSize(new Vec2f(32f, 32f));
- }
-
- @Test
- public void insertedEntityIsFoundAsNeighbor() {
- final BoundingBox bb = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- grid.insert(1, bb);
- assertTrue(grid.getNeighborIds(bb).contains(1));
- }
-
- @Test
- public void entityInDifferentCellIsNotNeighbor() {
- final BoundingBox a = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- final BoundingBox b = new BoundingBox(new Vec2f(100f, 100f), new Vec2f(1f, 1f));
- grid.insert(1, a);
- assertFalse(grid.getNeighborIds(b).contains(1));
- }
-
- @Test
- public void clearRemovesAllEntities() {
- final BoundingBox bb = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(1f, 1f));
- grid.insert(1, bb);
- grid.clear();
- assertTrue(grid.getNeighborIds(bb).isEmpty());
- }
-
- @Test
- public void largeEntitySpanningMultipleCellsFoundByNeighborInAnyCell() {
- final BoundingBox large = new BoundingBox(new Vec2f(0f, 0f), new Vec2f(64f, 64f));
- final BoundingBox corner = new BoundingBox(new Vec2f(50f, 50f), new Vec2f(1f, 1f));
- grid.insert(1, large);
- assertTrue(grid.getNeighborIds(corner).contains(1));
- }
-}
diff --git a/core/src/test/java/coffee/liz/ecs/common/systems/physics/PhysicsSystemsTest.java b/core/src/test/java/coffee/liz/ecs/common/systems/physics/PhysicsSystemsTest.java
deleted file mode 100644
index 13a4a1c..0000000
--- a/core/src/test/java/coffee/liz/ecs/common/systems/physics/PhysicsSystemsTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package coffee.liz.ecs.common.systems.physics;
-
-import coffee.liz.ecs.DAGWorld;
-import coffee.liz.ecs.common.components.physics.BoundingBox;
-import coffee.liz.ecs.common.components.physics.Collidable;
-import coffee.liz.ecs.common.components.physics.Force;
-import coffee.liz.ecs.common.components.physics.Forces;
-import coffee.liz.ecs.common.components.physics.Gravity;
-import coffee.liz.ecs.common.components.physics.Jump;
-import coffee.liz.ecs.common.components.physics.Mass;
-import coffee.liz.ecs.common.components.physics.TopCollidable;
-import coffee.liz.ecs.common.components.physics.Velocity;
-import coffee.liz.ecs.math.Vec2f;
-import coffee.liz.ecs.model.Entity;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class PhysicsSystemsTest {
- private static final float GRAVITY = 9.8f;
-
- @Test
- public void gravityAcceleratesEntityDownwardOverTime() {
- final DAGWorld world = new DAGWorld(new ForceReductionSystem(GRAVITY), new IntegrationSystem());
- final Entity entity = world.createEntity();
- entity.add(new Mass(1f));
- entity.add(new Velocity(Vec2f.ZERO));
- entity.add(new Forces());
- entity.add(new Gravity(100f));
- entity.add(new BoundingBox(new Vec2f(0f, 10f), new Vec2f(1f, 1f)));
-
- world.update(1f);
-
- assertTrue(entity.get(Velocity.class).getVelocity().getY() < 0f);
- assertTrue(entity.get(BoundingBox.class).getPosition().getY() < 10f);
- }
-
- @Test
- public void forcesAreClearedEachFrame() {
- final DAGWorld world = new DAGWorld(new ForceReductionSystem(GRAVITY), new IntegrationSystem());
- final Entity entity = world.createEntity();
- entity.add(new Mass(1f));
- entity.add(new Velocity(Vec2f.ZERO));
- final Forces forces = new Forces();
- forces.add(new Force(new Vec2f(0f, 100f)));
- entity.add(forces);
-
- world.update(1f);
-
- assertTrue(entity.get(Forces.class).getForces().isEmpty());
- }
-
- @Test
- public void entityLandsOnPlatformAndStops() {
- final DAGWorld world = new DAGWorld(
- new ForceReductionSystem(GRAVITY), new IntegrationSystem(), new CollisionSystem(GRAVITY, 32f));
-
- final Entity player = world.createEntity();
- player.add(new Mass(1f));
- player.add(new Velocity(new Vec2f(0f, -5f)));
- player.add(new Forces());
- player.add(new Gravity(100f));
- player.add(new Jump(false, 0L));
- player.add(new BoundingBox(new Vec2f(0f, 1.1f), new Vec2f(1f, 1f)));
- player.add(new Collidable());
-
- final Entity floor = world.createEntity();
- floor.add(new BoundingBox(new Vec2f(-5f, 0f), new Vec2f(10f, 1f)));
- floor.add(new TopCollidable());
-
- world.update(0.1f);
-
- assertEquals(1f, player.get(BoundingBox.class).getPosition().getY(), 0.001f);
- assertEquals(0f, player.get(Velocity.class).getVelocity().getY(), 0.001f);
- assertTrue(player.get(Jump.class).isCanJump());
- }
-}