aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle')
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/SilverfishTest.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/SilverfishTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/SilverfishTest.java
new file mode 100644
index 00000000..cc6178e1
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/SilverfishTest.java
@@ -0,0 +1,40 @@
+package de.hysky.skyblocker.skyblock.dungeon.puzzle;
+
+import org.joml.Vector2i;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+
+public class SilverfishTest {
+ private static final boolean[][] silverfishBoard = new boolean[][]{
+ {false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false},
+ {false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false},
+ {true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false},
+ {false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, true, false},
+ {false, false, true, false, false, false, false, false, false, false, false, true, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
+ {false, false, false, false, false, false, true, false, false, false, true, false, false, false, false, false, false},
+ {false, false, true, false, false, false, false, false, false, false, false, false, false, true, false, false, false}
+ };
+
+ @Test
+ void testSilverfishSolve() {
+ for (int i = 0; i < silverfishBoard.length; i++) {
+ System.arraycopy(silverfishBoard[i], 0, Silverfish.INSTANCE.silverfishBoard[i], 0, silverfishBoard[i].length);
+ }
+ Silverfish.INSTANCE.silverfishPos = new Vector2i(15, 15);
+ Silverfish.INSTANCE.solve();
+ List<Vector2i> expectedSilverfishPath = List.of(new Vector2i(15, 15), new Vector2i(15, 11), new Vector2i(16, 11), new Vector2i(16, 3), new Vector2i(0, 3), new Vector2i(0, 4), new Vector2i(1, 4), new Vector2i(1, 2), new Vector2i(10, 2), new Vector2i(10, 9), new Vector2i(0, 9));
+ Assertions.assertEquals(expectedSilverfishPath, Silverfish.INSTANCE.silverfishPath);
+ }
+}