JAL-3081 test and fix for preserve annotation order on New View
[jalview.git] / test / jalview / project / Jalview2xmlTests.java
index 57cade5..3e7279c 100644 (file)
@@ -1267,6 +1267,28 @@ public class Jalview2xmlTests extends Jalview2xmlBase
     assertFalse(anns[3].visible);
 
     /*
+     * make a new view of the alignment (uses project save/load code)
+     * and verify annotations are ordered the same
+     */
+    AlignmentPanel newPanel = af.newView("new", true);
+    AlignmentAnnotation[] newAnns = newPanel.getAlignment()
+            .getAlignmentAnnotation();
+    assertEquals(newAnns.length, 4);
+    assertEquals(newAnns[0].label, "Occupancy");
+    assertEquals(newAnns[1].label, "hello");
+    assertEquals(newAnns[2].label, "Conservation");
+    assertEquals(newAnns[3].label, "world");
+    assertEquals(newAnns[0].graphHeight, 60);
+    assertEquals(newAnns[1].graphHeight, 70);
+    assertEquals(newAnns[2].graphHeight, 80);
+    assertEquals(newAnns[3].graphHeight, 90);
+    assertFalse(newAnns[0].visible);
+    assertTrue(newAnns[1].visible);
+    assertTrue(newAnns[2].visible);
+    assertFalse(newAnns[3].visible);
+    newPanel.closePanel();
+
+    /*
      * reload the project with Preferences set to not create Occupancy;
      * this should still appear, as it is in the saved project
      */