JAL-2446 various get and find methods added with test coverage
[jalview.git] / test / jalview / datamodel / features / NCNodeTest.java
1 package jalview.datamodel.features;
2
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertTrue;
5
6 import java.util.ArrayList;
7 import java.util.List;
8
9 import org.testng.annotations.Test;
10
11 public class NCNodeTest
12 {
13   @Test(groups = "Functional")
14   public void testAdd()
15   {
16     Range r1 = new Range(10, 20);
17     NCNode<Range> node = new NCNode<Range>(r1);
18     assertEquals(node.getStart(), 10);
19     Range r2 = new Range(10, 15);
20     node.add(r2);
21
22     List<Range> contents = new ArrayList<Range>();
23     node.getEntries(contents);
24     assertEquals(contents.size(), 2);
25     assertTrue(contents.contains(r1));
26     assertTrue(contents.contains(r2));
27   }
28
29   @Test(
30     groups = "Functional",
31     expectedExceptions = { IllegalArgumentException.class })
32   public void testAdd_invalidRangeStart()
33   {
34     Range r1 = new Range(10, 20);
35     NCNode<Range> node = new NCNode<Range>(r1);
36     assertEquals(node.getStart(), 10);
37     Range r2 = new Range(9, 15);
38     node.add(r2);
39   }
40
41   @Test(
42     groups = "Functional",
43     expectedExceptions = { IllegalArgumentException.class })
44   public void testAdd_invalidRangeEnd()
45   {
46     Range r1 = new Range(10, 20);
47     NCNode<Range> node = new NCNode<Range>(r1);
48     assertEquals(node.getStart(), 10);
49     Range r2 = new Range(12, 21);
50     node.add(r2);
51   }
52
53   @Test(groups = "Functional")
54   public void testGetEntries()
55   {
56     Range r1 = new Range(10, 20);
57     NCNode<Range> node = new NCNode<Range>(r1);
58     List<Range> entries = new ArrayList<Range>();
59
60     node.getEntries(entries);
61     assertEquals(entries.size(), 1);
62     assertTrue(entries.contains(r1));
63
64     // clearing the returned list does not affect the NCNode
65     entries.clear();
66     node.getEntries(entries);
67     assertEquals(entries.size(), 1);
68     assertTrue(entries.contains(r1));
69
70     Range r2 = new Range(15, 18);
71     node.add(r2);
72     entries.clear();
73     node.getEntries(entries);
74     assertEquals(entries.size(), 2);
75     assertTrue(entries.contains(r1));
76     assertTrue(entries.contains(r2));
77   }
78 }