JAL-653 updating 'align as' tests to match latest tweaks to algorithm
[jalview.git] / test / jalview / datamodel / AlignmentTest.java
index ad1d3bf..b4b0e12 100644 (file)
@@ -32,8 +32,9 @@ import jalview.io.FormatAdapter;
 import jalview.util.MapList;
 
 import java.io.IOException;
-import java.util.Collections;
+import java.util.Arrays;
 import java.util.Iterator;
+import java.util.List;
 
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -249,7 +250,7 @@ public class AlignmentTest
     ((Alignment) al1).alignAs(al2, false, true);
     assertEquals("ACG---GCUCCA------ACT", al1.getSequenceAt(0)
             .getSequenceAsString());
-    assertEquals("---CGT---TAACGA---AGT", al1.getSequenceAt(1)
+    assertEquals("---CGT---TAACGA---AGT---", al1.getSequenceAt(1)
             .getSequenceAsString());
   }
 
@@ -397,7 +398,9 @@ public class AlignmentTest
     // create sequence and alignment datasets
     protein.setDataset(null);
     AlignedCodonFrame acf = new AlignedCodonFrame();
-    protein.getDataset().setCodonFrames(Collections.singleton(acf));
+    List<AlignedCodonFrame> acfList = Arrays.asList(new AlignedCodonFrame[]
+    { acf });
+    protein.getDataset().setCodonFrames(acfList);
     AlignmentI copy = new Alignment(protein);
 
     /*
@@ -468,4 +471,26 @@ public class AlignmentTest
     // prove the codon frames are indeed on the dataset:
     assertTrue(ds.getCodonFrames().contains(acf));
   }
+
+  @Test(groups = "Functional")
+  public void testAddCodonFrame()
+  {
+    AlignmentI align = new Alignment(new SequenceI[] {});
+    AlignedCodonFrame acf = new AlignedCodonFrame();
+    align.addCodonFrame(acf);
+    assertEquals(1, align.getCodonFrames().size());
+    assertTrue(align.getCodonFrames().contains(acf));
+    // can't add the same object twice:
+    align.addCodonFrame(acf);
+    assertEquals(1, align.getCodonFrames().size());
+
+    // create dataset alignment - mappings move to dataset
+    ((Alignment) align).createDatasetAlignment();
+    assertSame(align.getCodonFrames(), align.getDataset().getCodonFrames());
+    assertEquals(1, align.getCodonFrames().size());
+
+    AlignedCodonFrame acf2 = new AlignedCodonFrame();
+    align.addCodonFrame(acf2);
+    assertTrue(align.getDataset().getCodonFrames().contains(acf));
+  }
 }