aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-07-26 01:27:30 +0800
committerGitHub <noreply@github.com>2024-07-26 01:27:30 +0800
commit8f475f07c91076542b996cdada8385505a1bcce6 (patch)
treecb2dea55ea098eded224b555edaa97cb293ce44c /src/test/java/de/hysky/skyblocker/skyblock
parent55349c543a4b0fcbf9cbb86e0c1b7c0abd790b8c (diff)
parentcd9f7062e7b66f6f8fee078cbef32aee8d07df94 (diff)
downloadSkyblocker-8f475f07c91076542b996cdada8385505a1bcce6.tar.gz
Skyblocker-8f475f07c91076542b996cdada8385505a1bcce6.tar.bz2
Skyblocker-8f475f07c91076542b996cdada8385505a1bcce6.zip
Merge pull request #791 from olim88/improve-mining-waypoint
Improve mining waypoint
Diffstat (limited to 'src/test/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java31
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java43
2 files changed, 70 insertions, 4 deletions
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java
index 4ce61880..aac4a641 100644
--- a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java
@@ -1,12 +1,35 @@
package de.hysky.skyblocker.skyblock.dwarven;
+import de.hysky.skyblocker.utils.Constants;
import net.minecraft.util.math.BlockPos;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import de.hysky.skyblocker.utils.Constants;
+class CrystalsLocationManagerTest {
+ boolean matches(String text) {
+ return CrystalsLocationsManager.TEXT_CWORDS_PATTERN.matcher(text).find();
+ }
-public class CrystalsLocationManagerTest {
+ @Test
+ void testRegex() {
+ Assertions.assertTrue(matches("Player: x123 y12 z123"));
+ Assertions.assertTrue(matches("Player: x123, y12, z123"));
+ Assertions.assertTrue(matches("Player: 123 12 123"));
+ Assertions.assertTrue(matches("Player: 123 123 123"));
+ Assertions.assertTrue(matches("Player: 123, 12, 123"));
+ Assertions.assertTrue(matches("Player: 123, 123, 123"));
+ Assertions.assertTrue(matches("Player: 123,12,123"));
+ Assertions.assertTrue(matches("Player: 123,123,123"));
+
+ Assertions.assertFalse(matches("Player: 123 1234 123"));
+ Assertions.assertFalse(matches("Player: 1234 12 123"));
+ Assertions.assertFalse(matches("Player: 123 12 1234"));
+ Assertions.assertFalse(matches("Player: 12 12 123"));
+ Assertions.assertFalse(matches("Player: 123 1 123"));
+ Assertions.assertFalse(matches("Player: 123 12 12"));
+ Assertions.assertFalse(matches("Player: 12312123"));
+ Assertions.assertFalse(matches("Player: 123123123"));
+ }
@Test
void testLocationInCrystals() {
@@ -26,7 +49,7 @@ public class CrystalsLocationManagerTest {
@Test
void testSetLocationMessage() {
- Assertions.assertEquals(CrystalsLocationsManager.getSetLocationMessage("Jungle Temple", new BlockPos(10, 11, 12)).getString(), Constants.PREFIX.get().getString() + "Added waypoint for Jungle Temple at : 10 11 12.");
- Assertions.assertEquals(CrystalsLocationsManager.getSetLocationMessage("Fairy Grotto", new BlockPos(0, 0, 0)).getString(), Constants.PREFIX.get().getString() + "Added waypoint for Fairy Grotto at : 0 0 0.");
+ Assertions.assertEquals(Constants.PREFIX.get().getString() + "Added waypoint for 'Jungle Temple' at 10 11 12.", CrystalsLocationsManager.getSetLocationMessage("Jungle Temple", new BlockPos(10, 11, 12)).getString());
+ Assertions.assertEquals(Constants.PREFIX.get().getString() + "Added waypoint for 'Fairy Grotto' at 0 0 0.", CrystalsLocationsManager.getSetLocationMessage("Fairy Grotto", new BlockPos(0, 0, 0)).getString());
}
}
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java
new file mode 100644
index 00000000..8da811a5
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java
@@ -0,0 +1,43 @@
+package de.hysky.skyblocker.skyblock.dwarven;
+
+import net.minecraft.util.math.Vec3d;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.util.Objects;
+
+public class WishingCompassSolverTest {
+
+ @Test
+ void test2dSolve() {
+ Vec3d startPosOne = new Vec3d(100, 1, 0);
+ Vec3d startPosTwo = new Vec3d(0, 1, 100);
+ Vec3d directionOne = new Vec3d(-1, 0, 0);
+ Vec3d directionTwo = new Vec3d(0, 0, -1);
+ Assertions.assertEquals(WishingCompassSolver.solve(startPosOne, startPosTwo, directionOne, directionTwo), new Vec3d(0, 1, 0));
+
+ startPosOne = new Vec3d(100, 1, 100);
+ startPosTwo = new Vec3d(50, 1, 100);
+ directionOne = new Vec3d(-1, 0, -1);
+ directionTwo = new Vec3d(-0.5, 0, -1);
+ Assertions.assertEquals(WishingCompassSolver.solve(startPosOne, startPosTwo, directionOne, directionTwo), new Vec3d(0, 1, 0));
+ }
+
+ @Test
+ void test3dSolve() {
+ Vec3d startPosOne = new Vec3d(100, 200, 0);
+ Vec3d startPosTwo = new Vec3d(0, 0, 100);
+ Vec3d directionOne = new Vec3d(-1, -1, 0);
+ Vec3d directionTwo = new Vec3d(0, 1, -1);
+ Assertions.assertTrue(Objects.requireNonNull(WishingCompassSolver.solve(startPosOne, startPosTwo, directionOne, directionTwo)).distanceTo(new Vec3d(0, 100, 0))<0.1);
+ }
+
+ @Test
+ void testParallelSolve() {
+ Vec3d startPosOne = new Vec3d(100, 0, 0);
+ Vec3d startPosTwo = new Vec3d(50, 0, 0);
+ Vec3d directionOne = new Vec3d(-1, 0, 0);
+ Vec3d directionTwo = new Vec3d(-1, 0, 0);
+ Assertions.assertNull(WishingCompassSolver.solve(startPosOne, startPosTwo, directionOne, directionTwo));
+ }
+}