From ac496a60b76ae3219aedc89e802f77a6dcbe9602 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 8 Oct 2020 09:22:42 -0400 Subject: [PATCH] More tests --- .../world/blocks/defense/turrets/Turret.java | 1 + tests/src/test/java/ApplicationTests.java | 9 +++++++++ tests/src/test/java/power/PowerTestFixture.java | 4 ++-- tests/src/test/resources/108.msav | Bin 0 -> 12954 bytes 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 tests/src/test/resources/108.msav diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 9d925af2f3..37c0ba7ebd 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -214,6 +214,7 @@ public abstract class Turret extends Block{ } public void targetPosition(Posc pos){ + if(!hasAmmo()) return; BulletType bullet = peekAmmo(); float speed = bullet.speed; //slow bullets never intersect diff --git a/tests/src/test/java/ApplicationTests.java b/tests/src/test/java/ApplicationTests.java index d689dbd5df..01cf659df2 100644 --- a/tests/src/test/java/ApplicationTests.java +++ b/tests/src/test/java/ApplicationTests.java @@ -424,6 +424,15 @@ public class ApplicationTests{ assertEquals(300, world.height()); } + @Test + void load108Save(){ + resetWorld(); + SaveIO.load(Core.files.internal("108.msav")); + + assertEquals(256, world.width()); + assertEquals(256, world.height()); + } + @Test void arrayIterators(){ Seq arr = Seq.with("a", "b" , "c", "d", "e", "f"); diff --git a/tests/src/test/java/power/PowerTestFixture.java b/tests/src/test/java/power/PowerTestFixture.java index 994130a596..7bd7e821b2 100644 --- a/tests/src/test/java/power/PowerTestFixture.java +++ b/tests/src/test/java/power/PowerTestFixture.java @@ -28,14 +28,14 @@ public class PowerTestFixture{ headless = true; Core.graphics = new FakeGraphics(); Core.files = new MockFiles(); - Vars.state = new GameState(); - Vars.tree = new FileTree(); Vars.content = new ContentLoader(){ @Override public void handleMappableContent(MappableContent content){ } }; + Vars.state = new GameState(); + Vars.tree = new FileTree(); content.createBaseContent(); Log.setUseColors(false); Time.setDeltaProvider(() -> 0.5f); diff --git a/tests/src/test/resources/108.msav b/tests/src/test/resources/108.msav new file mode 100644 index 0000000000000000000000000000000000000000..9653e63d16e24958d312bcb7aba581a26afe2e7a GIT binary patch literal 12954 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