JAL-2034 Added isDefined flag to SequenceGroup
[jalview.git] / test / jalview / datamodel / SequenceGroupTest.java
index 6e1c2db..7837b49 100644 (file)
@@ -10,10 +10,10 @@ import static org.testng.Assert.fail;
 
 import jalview.schemes.NucleotideColourScheme;
 
-import junit.extensions.PA;
-
 import org.testng.annotations.Test;
 
+import junit.extensions.PA;
+
 public class SequenceGroupTest
 {
   @Test(groups={"Functional"})
@@ -121,13 +121,32 @@ public class SequenceGroupTest
     PA.setValue(sg2, "context", sg2);
     try
     {
-      sg3.setContext(sg2); // circular reference in sg2
+      sg3.setContext(sg2, false); // circular reference in sg2
       fail("Expected exception");
     } catch (IllegalArgumentException e)
     {
       // expected
       assertNull(sg3.getContext());
     }
+
+    // test isDefined setting behaviour
+    sg2 = new SequenceGroup();
+    sg1.setContext(null, false);
+    assertFalse(sg1.isDefined());
+
+    sg1.setContext(sg2, false);
+    assertFalse(sg1.isDefined());
+
+    sg1.setContext(sg2, true);
+    assertTrue(sg1.isDefined());
+
+    // setContext without defined parameter does not change isDefined
+    sg1.setContext(null);
+    assertTrue(sg1.isDefined());
+
+    sg1.setContext(null, false);
+    sg1.setContext(sg2);
+    assertFalse(sg1.isDefined());
   }
 
   @Test(groups = { "Functional" })