import java.util.ArrayList;
import java.util.List;
+import junit.extensions.PA;
+
import org.testng.annotations.Test;
public class NCNodeTest
{
Range r1 = new Range(10, 20);
NCNode<Range> node = new NCNode<Range>(r1);
- assertEquals(node.getStart(), 10);
+ assertEquals(node.getBegin(), 10);
Range r2 = new Range(10, 15);
node.add(r2);
{
Range r1 = new Range(10, 20);
NCNode<Range> node = new NCNode<Range>(r1);
- assertEquals(node.getStart(), 10);
+ assertEquals(node.getBegin(), 10);
Range r2 = new Range(9, 15);
node.add(r2);
}
{
Range r1 = new Range(10, 20);
NCNode<Range> node = new NCNode<Range>(r1);
- assertEquals(node.getStart(), 10);
+ assertEquals(node.getBegin(), 10);
Range r2 = new Range(12, 21);
node.add(r2);
}
assertFalse(node.contains(sf3)); // !sf1.equals(sf3)
}
+ /**
+ * Test method that checks for valid structure. Valid means that all
+ * subregions (if any) lie within the root range, and that all subregions have
+ * valid structure.
+ */
+ @Test(groups = "Functional")
+ public void testIsValid()
+ {
+ Range r1 = new Range(10, 20);
+ Range r2 = new Range(14, 15);
+ Range r3 = new Range(16, 17);
+ NCNode<Range> node = new NCNode<Range>(r1);
+ node.add(r2);
+ node.add(r3);
+
+ /*
+ * node has root range [10-20] and contains an
+ * NCList of [14-15, 16-17]
+ */
+ assertTrue(node.isValid());
+ PA.setValue(r1, "start", 15);
+ assertFalse(node.isValid()); // r2 not within r1
+ PA.setValue(r1, "start", 10);
+ assertTrue(node.isValid());
+ PA.setValue(r1, "end", 16);
+ assertFalse(node.isValid()); // r3 not within r1
+ PA.setValue(r1, "end", 20);
+ assertTrue(node.isValid());
+ PA.setValue(r3, "start", 12);
+ assertFalse(node.isValid()); // r3 should precede r2
+ }
}