diff options
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java')
-rw-r--r-- | AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java b/AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java new file mode 100644 index 0000000..2f25158 --- /dev/null +++ b/AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java @@ -0,0 +1,48 @@ +import static org.junit.jupiter.api.Assertions.*; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.junit.jupiter.api.Test; + +class CoveringSegmentsTest { + + @Test + void testSegment() { + CoveringSegments.Segment s = new CoveringSegments.Segment(1, 2); + assertEquals(s.start, 1); + } + + @Test + void testSegmentArray() { + CoveringSegments.Segment[] s = new CoveringSegments.Segment[2]; + s[0] = new CoveringSegments.Segment(3, 4); + s[1] = new CoveringSegments.Segment(1, 2); + Arrays.sort(s); + assertEquals(1, s[0].start); + } + + @Test + void testSegmentArrayRemoveDups() { + CoveringSegments.Segment[] s = new CoveringSegments.Segment[3]; + s[0] = new CoveringSegments.Segment(3, 4); + s[1] = new CoveringSegments.Segment(1, 2); + s[2] = new CoveringSegments.Segment(1, 2); + Arrays.sort(s); + Set<CoveringSegments.Segment> set = new HashSet<CoveringSegments.Segment>(Arrays.asList(s)); + assertEquals(2, set.size()); + } + + @Test + void testGetOptimalPoints() { + Set<CoveringSegments.Segment> set = new HashSet<CoveringSegments.Segment>(); + set.add(new CoveringSegments.Segment(1, 3)); + set.add(new CoveringSegments.Segment(2, 5)); + set.add(new CoveringSegments.Segment(3, 6)); + CoveringSegments.Segment[] s = set.stream().toArray(CoveringSegments.Segment[]::new); + Arrays.sort(s); + assertEquals(1, CoveringSegments.getOptimalPoints(s).length); + } + +} |