diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-07-26 01:27:30 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-26 01:27:30 +0800 |
commit | 8f475f07c91076542b996cdada8385505a1bcce6 (patch) | |
tree | cb2dea55ea098eded224b555edaa97cb293ce44c /src/test/java/de/hysky/skyblocker/skyblock | |
parent | 55349c543a4b0fcbf9cbb86e0c1b7c0abd790b8c (diff) | |
parent | cd9f7062e7b66f6f8fee078cbef32aee8d07df94 (diff) | |
download | Skyblocker-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.java | 31 | ||||
-rw-r--r-- | src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java | 43 |
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)); + } +} |