summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java')
-rw-r--r--AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java b/AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java
new file mode 100644
index 0000000..6d56ed2
--- /dev/null
+++ b/AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java
@@ -0,0 +1,73 @@
+import static org.junit.jupiter.api.Assertions.*;
+
+import java.util.Arrays;
+
+import org.junit.jupiter.api.Test;
+
+class PointsAndSegmentsTest {
+
+ @Test
+ void test() {
+ int[] starts = {0, 7};
+ int[] ends = {5, 10};
+ int[] points = {1, 6, 11};
+ int[] results = {1, 0, 0};
+ assertArrayEquals(results, PointsAndSegments.naiveCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fasterCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fastestCountSegments(starts, ends, points));
+ }
+
+ @Test
+ void test1() {
+ int[] starts = {-10};
+ int[] ends = {10};
+ int[] points = {-100, 100, 0};
+ int[] results = {0, 0, 1};
+ assertArrayEquals(results, PointsAndSegments.naiveCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fasterCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fastestCountSegments(starts, ends, points));
+ }
+
+ @Test
+ void test2() {
+ int[] starts = {0, -3, 7};
+ int[] ends = {5, 2, 10};
+ int[] points = {1, 6};
+ int[] results = {2, 0};
+ assertArrayEquals(results, PointsAndSegments.naiveCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fasterCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fastestCountSegments(starts, ends, points));
+ }
+
+ @Test
+ void test3() {
+ int[] starts = {0, 7};
+ int[] ends = {5, 10};
+ int[] points = {1, 6, 11};
+ int[] results = {1, 0, 0};
+ assertArrayEquals(results, PointsAndSegments.fasterCountSegments(starts, ends, points));
+ assertArrayEquals(results, PointsAndSegments.fastestCountSegments(starts, ends, points));
+ }
+
+ @Test
+ void test4() {
+ PointsAndSegments.Segment[] s = new PointsAndSegments.Segment[3];
+ s[0] = new PointsAndSegments.Segment(0, 5);
+ s[1] = new PointsAndSegments.Segment(-3, 2);
+ s[2] = new PointsAndSegments.Segment(7, 10);
+ int p = 1;
+ assertEquals(2, PointsAndSegments.segCounts(s, p, 0, s.length - 1));
+ }
+
+ @Test
+ void test5() {
+ PointsAndSegments.Segment[] s = new PointsAndSegments.Segment[3];
+ s[0] = new PointsAndSegments.Segment(0, 5);
+ s[1] = new PointsAndSegments.Segment(-3, 2);
+ s[2] = new PointsAndSegments.Segment(7, 10);
+ int p = 6;
+ Arrays.sort(s);
+ assertEquals(0, PointsAndSegments.segCounts(s, p, 0, s.length - 1));
+ }
+
+}