From 8fa21f0ec183da2e626cbe0ad2f95226308c9b9a Mon Sep 17 00:00:00 2001 From: olim Date: Wed, 19 Jun 2024 13:39:56 +0100 Subject: add wishing compass solver --- .../skyblock/dwarven/WishingCompassSolverTest.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java (limited to 'src/test/java/de/hysky') 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..c5a6ba19 --- /dev/null +++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolverTest.java @@ -0,0 +1,41 @@ +package de.hysky.skyblocker.skyblock.dwarven; + +import net.minecraft.util.math.Vec3d; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class WishingCompassSolverTest { + + @Test + void test2dSolve() { + Vec3d startPosOne = new Vec3d(100, 0, 0); + Vec3d startPosTwo = new Vec3d(0, 0, 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, 0, 0)); + + startPosOne = new Vec3d(100, 0, 100); + startPosTwo = new Vec3d(50, 0, 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, 0, 0)); + } + + @Test + void test3dSolve() { + Vec3d startPosOne = new Vec3d(100, 100, 0); + Vec3d startPosTwo = new Vec3d(0, -100, 100); + Vec3d directionOne = new Vec3d(-1, -1, 0); + Vec3d directionTwo = new Vec3d(0, 1, -1); + Assertions.assertEquals(WishingCompassSolver.solve(startPosOne, startPosTwo, directionOne, directionTwo), new Vec3d(0, 0, 0)); + } + + @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)); + } +} -- cgit