diff options
author | Haidong Ji | 2018-12-09 15:37:43 -0600 |
---|---|---|
committer | Haidong Ji | 2018-12-09 15:37:43 -0600 |
commit | 52108279a187ebce1de64b9fe12d3ed5415cb14c (patch) | |
tree | 75dc43d0c5d9669eadee900ea056b3d0840e8190 /AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java | |
parent | 8e42c78e2f389f8aabefef163f38a54d170018b5 (diff) |
Organizing lottery done!
Pretty challenging and fun exercise. Once again, persistence is the key.
Don't give up, and it is a lot of fun.
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests/PointsAndSegmentsTest.java')
-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)); + } + +} |