aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorolim <bobq4582@gmail.com>2024-04-17 15:04:10 +0100
committerolim <bobq4582@gmail.com>2024-04-17 15:04:10 +0100
commitc04bef8c93f15ba162091db40c6062af47d22515 (patch)
treec6a6fe3dc1660d17cd013f9db0eb4133ef199fbb /src
parent31744be3393f3fcec57dccfbc4aa8a1942c08f15 (diff)
downloadSkyblocker-c04bef8c93f15ba162091db40c6062af47d22515.tar.gz
Skyblocker-c04bef8c93f15ba162091db40c6062af47d22515.tar.bz2
Skyblocker-c04bef8c93f15ba162091db40c6062af47d22515.zip
add tests
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java12
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetectorTest.java34
2 files changed, 40 insertions, 6 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java
index 203e1880..e302b778 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java
@@ -81,14 +81,14 @@ public class MetalDetector {
new Vec3i(-37, -21, -22) // -37, -21, -22
));
- private static Vec3i minesCenter = null;
+ protected static Vec3i minesCenter = null;
private static double previousDistance;
private static Vec3d previousPlayerPos;
- private static boolean newTreasure = true;
+ protected static boolean newTreasure = true;
private static boolean startedLooking = false;
- private static List<Vec3i> possibleBlocks = new ArrayList<>();
+ protected static List<Vec3i> possibleBlocks = new ArrayList<>();
public static void init() {
ClientReceiveMessageEvents.GAME.register(MetalDetector::getDistanceMessage);
@@ -151,7 +151,7 @@ public class MetalDetector {
}
}
- private static void updatePossibleBlocks(Double distance, Vec3d playerPos) {
+ protected static void updatePossibleBlocks(Double distance, Vec3d playerPos) {
if (newTreasure) {
possibleBlocks = new ArrayList<>();
newTreasure = false;
@@ -164,8 +164,8 @@ public class MetalDetector {
}
}
else {
- for (int x = -distance.intValue(); x < distance; x++) {
- for (int z = -distance.intValue(); z < distance; z++) {
+ for (int x = -distance.intValue(); x <= distance; x++) {
+ for (int z = -distance.intValue(); z <= distance; z++) {
Vec3i checkPos =new Vec3i((int)(playerPos.x) + x, (int)playerPos.y, (int)playerPos.z + z);
if (Math.abs(playerPos.distanceTo(Vec3d.of(checkPos)) - distance) < 0.25) {
possibleBlocks.add(checkPos);
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetectorTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetectorTest.java
new file mode 100644
index 00000000..22532f96
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetectorTest.java
@@ -0,0 +1,34 @@
+package de.hysky.skyblocker.skyblock.dwarven;
+
+import net.minecraft.util.math.Vec3d;
+import net.minecraft.util.math.Vec3i;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+
+public class MetalDetectorTest {
+
+ @Test
+ void testFindPossibleBlocks() {
+ //test starting without knowing middle
+ MetalDetector.updatePossibleBlocks(10.0, new Vec3d(0, 0, 0));
+ Assertions.assertEquals(MetalDetector.possibleBlocks.size(), 40);
+
+ MetalDetector.updatePossibleBlocks(11.2, new Vec3d(5, 0, 0));
+ Assertions.assertEquals(MetalDetector.possibleBlocks.size(), 2);
+
+ MetalDetector.updatePossibleBlocks(10.0, new Vec3d(10, 0, 10));
+ Assertions.assertEquals(MetalDetector.possibleBlocks.get(0), new Vec3i(0, 0, 10));
+
+ //test while knowing the middle location
+ MetalDetector.possibleBlocks = new ArrayList<>();
+ MetalDetector.newTreasure = true;
+ MetalDetector.minesCenter = new Vec3i(0, 0, 0);
+
+ MetalDetector.updatePossibleBlocks(24.9, new Vec3d(10, 1, 10));
+ Assertions.assertEquals(MetalDetector.possibleBlocks.size(), 1);
+ Assertions.assertEquals(MetalDetector.possibleBlocks.get(0), new Vec3i(1, -20, 20));
+
+ }
+}