1 package jalview.datamodel.features;
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertTrue;
6 import java.util.ArrayList;
9 import org.testng.annotations.Test;
11 public class NCNodeTest
13 @Test(groups = "Functional")
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);
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));
30 groups = "Functional",
31 expectedExceptions = { IllegalArgumentException.class })
32 public void testAdd_invalidRangeStart()
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);
42 groups = "Functional",
43 expectedExceptions = { IllegalArgumentException.class })
44 public void testAdd_invalidRangeEnd()
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);
53 @Test(groups = "Functional")
54 public void testGetEntries()
56 Range r1 = new Range(10, 20);
57 NCNode<Range> node = new NCNode<Range>(r1);
58 List<Range> entries = new ArrayList<Range>();
60 node.getEntries(entries);
61 assertEquals(entries.size(), 1);
62 assertTrue(entries.contains(r1));
64 // clearing the returned list does not affect the NCNode
66 node.getEntries(entries);
67 assertEquals(entries.size(), 1);
68 assertTrue(entries.contains(r1));
70 Range r2 = new Range(15, 18);
73 node.getEntries(entries);
74 assertEquals(entries.size(), 2);
75 assertTrue(entries.contains(r1));
76 assertTrue(entries.contains(r2));