summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java')
-rw-r--r--AlgoDesignAndTechniqueEdxJava/tests/CoveringSegmentsTest.java48
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);
+ }
+
+}