MCPcopy Create free account
hub / github.com/lodborg/interval-tree / TreeNodeTest

Class TreeNodeTest

src/test/java/com/lodborg/intervaltree/TreeNodeTest.java:11–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9import java.util.*;
10
11public class TreeNodeTest {
12 @Test
13 public void test_iteratorNormal(){
14 IntervalTree<Integer> tree = new IntervalTree<>();
15 Interval<Integer>[] arr = new IntegerInterval[]{
16 new IntegerInterval(6, 10, Bounded.OPEN),
17 new IntegerInterval(2, 100, Bounded.CLOSED),
18 new IntegerInterval(8, 20, Bounded.CLOSED),
19 new IntegerInterval(-2, 0, Bounded.CLOSED),
20 new IntegerInterval(-3, 0, Bounded.CLOSED_RIGHT),
21 new IntegerInterval(10, 20, Bounded.CLOSED_LEFT),
22 new IntegerInterval(11, 14, Bounded.CLOSED_LEFT),
23 new IntegerInterval(-20, -10, Bounded.CLOSED),
24 new IntegerInterval(-14, -11, Bounded.CLOSED),
25 new IntegerInterval(-14, -10, Bounded.OPEN),
26 new IntegerInterval(0, 4, Bounded.OPEN)
27 };
28 for (Interval<Integer> interval: arr)
29 tree.add(interval);
30 List<Interval<Integer>> list = new ArrayList<>();
31 for (Interval<Integer> interval: tree)
32 list.add(interval);
33
34 assertThat(new HashSet<>(Arrays.asList(arr)), is(new HashSet<>(list)));
35 assertEquals(arr.length, list.size());
36 }
37
38 @Test
39 public void test_iteratorEmpty(){
40 IntervalTree<Integer> tree = new IntervalTree<>();
41 assertFalse(tree.iterator().hasNext());
42 tree.add(new IntegerInterval(1, 3, Bounded.CLOSED));
43 Iterator<Interval<Integer>> it = tree.iterator();
44 it.next();
45 assertFalse(it.hasNext());
46 try{
47 it.next();
48 fail();
49 } catch (Exception e){
50 assertTrue(e instanceof NoSuchElementException);
51 }
52 }
53
54 @Test
55 public void test_iteratorBackToRootWithMultipleIntervals(){
56 IntervalTree<Integer> tree = new IntervalTree<>();
57 Set<Interval<Integer>> set = new HashSet<>(new ArrayList<Interval<Integer>>(Arrays.asList(
58 new IntegerInterval(12, 22, Bounded.CLOSED_RIGHT),
59 new IntegerInterval(12, 25, Bounded.CLOSED_RIGHT),
60 new IntegerInterval(0, 10, Bounded.CLOSED_RIGHT)
61 )));
62 for (Interval<Integer> next: set)
63 tree.add(next);
64 Set<Interval<Integer>> result = new HashSet<>();
65 for (Interval<Integer> next: tree)
66 result.add(next);
67 assertThat(set, is(result));
68 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…