aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/de
diff options
context:
space:
mode:
authorolim88 <bobq4582@gmail.com>2025-03-18 23:19:02 +0000
committerGitHub <noreply@github.com>2025-03-18 19:19:02 -0400
commit87341278c2a1c547e1b5785326195620726a0730 (patch)
treebe706a6bcb28098deafe29a4b88a5ff976067740 /src/test/java/de
parent7604c1cde3407ce97e22053f2919d7f22669f954 (diff)
downloadSkyblocker-87341278c2a1c547e1b5785326195620726a0730.tar.gz
Skyblocker-87341278c2a1c547e1b5785326195620726a0730.tar.bz2
Skyblocker-87341278c2a1c547e1b5785326195620726a0730.zip
fix bugged patters (#1216)
Write test for rotations. Work out it is wrong. fix this. now should work well (I should write test more often)
Diffstat (limited to 'src/test/java/de')
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dwarven/fossil/FossilSolverTest.java62
1 files changed, 59 insertions, 3 deletions
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/fossil/FossilSolverTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/fossil/FossilSolverTest.java
index 99efca31..5eba8722 100644
--- a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/fossil/FossilSolverTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/fossil/FossilSolverTest.java
@@ -5,7 +5,9 @@ import de.hysky.skyblocker.skyblock.dwarven.fossil.Structures.TileState;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import static de.hysky.skyblocker.skyblock.dwarven.fossil.FossilCalculations.getFossilChance;
+import java.util.Arrays;
+
+import static de.hysky.skyblocker.skyblock.dwarven.fossil.FossilCalculations.*;
public class FossilSolverTest {
@@ -18,6 +20,10 @@ public class FossilSolverTest {
}
return new TileGrid(tileStates);
}
+ @Test
+ public void testPossibleFossils() {
+ Assertions.assertEquals(287, POSSIBLE_STATES.size());
+ }
@Test
void testPartlyFoundFossil() {
@@ -27,7 +33,7 @@ public class FossilSolverTest {
tileGrid.updateSlot(0, 4, TileState.FOSSIL);
tileGrid.updateSlot(0, 5, TileState.FOSSIL);
tileGrid.updateSlot(1, 5, TileState.FOSSIL);
- Assertions.assertEquals(getFossilChance(tileGrid, null)[20], 1);
+ Assertions.assertEquals(1, getFossilChance(tileGrid, null)[20]);
}
@Test
@@ -36,7 +42,7 @@ public class FossilSolverTest {
tileGrid.updateSlot(1, 0, TileState.FOSSIL);
tileGrid.updateSlot(3, 0, TileState.FOSSIL);
tileGrid.updateSlot(0, 1, TileState.FOSSIL);
- Assertions.assertEquals(getFossilChance(tileGrid, "7.7")[29], 1);
+ Assertions.assertEquals(1, getFossilChance(tileGrid, "7.7")[29]);
}
@Test
@@ -61,4 +67,54 @@ public class FossilSolverTest {
tileGrid.updateSlot(8, 0, TileState.FOSSIL);
Assertions.assertTrue(Double.isNaN(getFossilChance(tileGrid, null)[1]));
}
+
+
+ TileGrid createTestRotationGrid(int height, int width) {
+ TileState[][] tileStates = new TileState[height][width];
+ for (int x = 0; x < height; x++) {
+ for (int y = 0; y < width; y++) {
+ tileStates[x][y] = TileState.UNKNOWN;
+ }
+ }
+ return new TileGrid(tileStates);
+
+ }
+ @Test
+ void testRotation90(){
+ TileGrid originalGrid = createTestRotationGrid(6, 3);
+ originalGrid.updateSlot(0, 0, TileState.FOSSIL);
+ TileGrid targetGrid = createTestRotationGrid(3, 6);
+ targetGrid.updateSlot(5, 0, TileState.FOSSIL);
+ TileGrid rotatedGrid = rotateGrid(originalGrid, 90);
+ Assertions.assertEquals(targetGrid, rotatedGrid);
+ }
+ @Test
+ void testRotation180(){
+ TileGrid originalGrid = createTestRotationGrid(6, 3);
+ originalGrid.updateSlot(0, 0, TileState.FOSSIL);
+ TileGrid targetGrid = createTestRotationGrid(6, 3);
+ targetGrid.updateSlot(2, 5, TileState.FOSSIL);
+ TileGrid rotatedGrid = rotateGrid(originalGrid, 180);
+ Assertions.assertEquals(targetGrid, rotatedGrid);
+ }
+
+ @Test
+ void testRotation270(){
+ TileGrid originalGrid = createTestRotationGrid(6, 3);
+ originalGrid.updateSlot(0, 0, TileState.FOSSIL);
+ TileGrid targetGrid = createTestRotationGrid(3, 6);
+ targetGrid.updateSlot(0, 2, TileState.FOSSIL);
+ TileGrid rotatedGrid = rotateGrid(originalGrid, 270);
+ Assertions.assertEquals(targetGrid, rotatedGrid);
+ }
+
+ @Test
+ void testFlipped(){
+ TileGrid originalGrid = createTestRotationGrid(6, 3);
+ originalGrid.updateSlot(0, 0, TileState.FOSSIL);
+ TileGrid targetGrid = createTestRotationGrid(6, 3);
+ targetGrid.updateSlot(0, 5, TileState.FOSSIL);
+ TileGrid flippedGrid = flipGrid(originalGrid);
+ Assertions.assertEquals(targetGrid, flippedGrid);
+ }
}