summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxJava/tests/ClosestDistanceTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests/ClosestDistanceTest.java')
-rw-r--r--AlgoDesignAndTechniqueEdxJava/tests/ClosestDistanceTest.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxJava/tests/ClosestDistanceTest.java b/AlgoDesignAndTechniqueEdxJava/tests/ClosestDistanceTest.java
new file mode 100644
index 0000000..87ce590
--- /dev/null
+++ b/AlgoDesignAndTechniqueEdxJava/tests/ClosestDistanceTest.java
@@ -0,0 +1,70 @@
+import static org.junit.jupiter.api.Assertions.*;
+
+import java.util.Arrays;
+
+import org.junit.jupiter.api.Test;
+
+class ClosestDistanceTest {
+
+ @Test
+ void test() {
+ int[] x = { 0, 3 };
+ int[] y = { 0, 4 };
+ double result = 5.0;
+ assertEquals(result, CloestDistance.minimalDistance(x, y), 0.0001);
+ }
+
+ @Test
+ void testThreePoints() {
+ int[] x = { 0, 3, 5 };
+ int[] y = { 0, 4, 6 };
+ double result = 2.828427;
+ assertEquals(result, CloestDistance.minimalDistance(x, y), 0.0001);
+ }
+
+ @Test
+ void test1() {
+ int[] x = { 7, 1, 4, 7 };
+ int[] y = { 7, 100, 8, 7 };
+ double result = 0.0;
+ assertEquals(result, CloestDistance.minimalDistance(x, y), 0.0001);
+ }
+
+ @Test
+ void test2() {
+ int[] x = { 4, -2, -3, -1, 2, -4, 1, -1, 3, -4, -2 };
+ int[] y = { 4, -2, -4, 3, 3, 0, 1, -1, -1, 2, 4 };
+ double result = 1.414213;
+ assertEquals(result, CloestDistance.minimalDistance(x, y), 0.0001);
+ }
+
+ @Test
+ void testSortPointsArray() {
+ int[] x = { 4, -2, -3, -1, 2, -4, 1, -1, 3, -4, -2 };
+ int[] y = { 4, -2, -4, 3, 3, 0, 1, -1, -1, 2, 4 };
+ CloestDistance.Point[] p = new CloestDistance.Point[11];
+ for (int i = 0; i < p.length; i++) {
+ p[i] = new CloestDistance.Point(x[i], y[i]);
+ }
+
+ Arrays.sort(p, new CloestDistance.XComparator());
+ assertEquals(-4, p[0].x);
+ assertEquals(0, p[0].y);
+
+ Arrays.sort(p, new CloestDistance.YComparator());
+ assertEquals(-4, p[0].y);
+ assertEquals(-3, p[0].x);
+ assertEquals(4, p[10].y);
+ assertEquals(4, p[10].x);
+
+ }
+
+ @Test
+ void testDistance() {
+ CloestDistance.Point p1 = new CloestDistance.Point(0, 0);
+ CloestDistance.Point p2 = new CloestDistance.Point(1, 1);
+ double result = 1.414213;
+ assertEquals(result, CloestDistance.distance(p1, p2), 0.0001);
+ }
+
+}