diff options
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests')
-rw-r--r-- | AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java | 73 |
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)); + } + +} |