Merge branch 'develop' into patch/JAL-4281_idwidthandannotHeight_in_project
[jalview.git] / test / jalview / project / Jalview2xmlTests.java
index e39d900..76c5266 100644 (file)
@@ -289,12 +289,12 @@ public class Jalview2xmlTests extends Jalview2xmlBase
   @Test(groups = { "Functional" })
   public void gatherViewsHere() throws Exception
   {
-    int origCount = Desktop.getAlignFrames() == null ? 0
-            : Desktop.getAlignFrames().length;
+    int origCount = Desktop.getDesktopAlignFrames() == null ? 0
+            : Desktop.getDesktopAlignFrames().length;
     AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
             "examples/exampleFile_2_7.jar", DataSourceType.FILE);
     assertNotNull(af, "Didn't read in the example file correctly.");
-    assertTrue(Desktop.getAlignFrames().length == 1 + origCount,
+    assertTrue(Desktop.getDesktopAlignFrames().length == 1 + origCount,
             "Didn't gather the views in the example file.");
 
   }
@@ -432,7 +432,7 @@ public class Jalview2xmlTests extends Jalview2xmlBase
 
     AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
             "examples/exampleFile_2_7.jar", DataSourceType.FILE);
-    Assert.assertEquals(Desktop.getAlignFrames().length, 1);
+    Assert.assertEquals(Desktop.getDesktopAlignFrames().length, 1);
     String afid = af.getViewport().getSequenceSetId();
 
     // check FileLoader returned a reference to the one alignFrame that is
@@ -442,8 +442,8 @@ public class Jalview2xmlTests extends Jalview2xmlBase
 
     Desktop.explodeViews(af);
 
-    int oldviews = Desktop.getAlignFrames().length;
-    Assert.assertEquals(Desktop.getAlignFrames().length,
+    int oldviews = Desktop.getDesktopAlignFrames().length;
+    Assert.assertEquals(Desktop.getDesktopAlignFrames().length,
             Desktop.getAlignmentPanels(afid).length);
     File tfile = File.createTempFile("testStoreAndRecoverExpanded", ".jvp");
     try
@@ -457,14 +457,14 @@ public class Jalview2xmlTests extends Jalview2xmlBase
       Assert.fail("Didn't save the expanded view state", e);
     }
     Desktop.instance.closeAll_actionPerformed(null);
-    if (Desktop.getAlignFrames() != null)
+    if (Desktop.getDesktopAlignFrames() != null)
     {
-      Assert.assertEquals(Desktop.getAlignFrames().length, 0);
+      Assert.assertEquals(Desktop.getDesktopAlignFrames().length, 0);
     }
     af = new FileLoader().LoadFileWaitTillLoaded(tfile.getAbsolutePath(),
             DataSourceType.FILE);
     Assert.assertNotNull(af);
-    Assert.assertEquals(Desktop.getAlignFrames().length,
+    Assert.assertEquals(Desktop.getDesktopAlignFrames().length,
             Desktop.getAlignmentPanels(
                     af.getViewport().getSequenceSetId()).length);
     Assert.assertEquals(Desktop
@@ -521,9 +521,9 @@ public class Jalview2xmlTests extends Jalview2xmlBase
       Assert.fail("Didn't save the expanded view state", e);
     }
     Desktop.instance.closeAll_actionPerformed(null);
-    if (Desktop.getAlignFrames() != null)
+    if (Desktop.getDesktopAlignFrames() != null)
     {
-      Assert.assertEquals(Desktop.getAlignFrames().length, 0);
+      Assert.assertEquals(Desktop.getDesktopAlignFrames().length, 0);
     }
 
     af = new FileLoader().LoadFileWaitTillLoaded(tfile.getAbsolutePath(),
@@ -700,9 +700,9 @@ public class Jalview2xmlTests extends Jalview2xmlBase
       Assert.fail("Didn't save the expanded view state", e);
     }
     Desktop.instance.closeAll_actionPerformed(null);
-    if (Desktop.getAlignFrames() != null)
+    if (Desktop.getDesktopAlignFrames() != null)
     {
-      Assert.assertEquals(Desktop.getAlignFrames().length, 0);
+      Assert.assertEquals(Desktop.getDesktopAlignFrames().length, 0);
     }
 
     af = new FileLoader().LoadFileWaitTillLoaded(tfile.getAbsolutePath(),
@@ -794,9 +794,9 @@ public class Jalview2xmlTests extends Jalview2xmlBase
       Assert.fail("Didn't save the state", e);
     }
     Desktop.instance.closeAll_actionPerformed(null);
-    if (Desktop.getAlignFrames() != null)
+    if (Desktop.getDesktopAlignFrames() != null)
     {
-      Assert.assertEquals(Desktop.getAlignFrames().length, 0);
+      Assert.assertEquals(Desktop.getDesktopAlignFrames().length, 0);
     }
 
     AlignFrame restoredFrame = new FileLoader().LoadFileWaitTillLoaded(
@@ -1219,7 +1219,7 @@ public class Jalview2xmlTests extends Jalview2xmlBase
     assertNotNull(af);
 
     AlignmentI ds = null;
-    for (AlignFrame alignFrame : Desktop.getAlignFrames())
+    for (AlignFrame alignFrame : Desktop.getDesktopAlignFrames())
     {
       if (ds == null)
       {
@@ -1738,4 +1738,67 @@ public class Jalview2xmlTests extends Jalview2xmlBase
     
   }
 
+  @Test(groups = "Functional")
+  public void testStoreAndRestoreIDwidthAndAnnotationHeight() throws IOException
+  {
+    Desktop.instance.closeAll_actionPerformed(null);
+    final String SECONDVIEW = "With Diffferent IDwidth";
+    // create a new tempfile
+    File tempfile = File.createTempFile("jvIdWidthStoreRestore", "jvp");
+
+
+    AlignFrame af = new FileLoader().LoadFileWaitTillLoaded("examples/exampleFile.jvp",
+              DataSourceType.FILE);
+      assertNotNull(af, "Didn't read in the example file correctly.");
+      assertEquals(af.alignPanel.getAlignViewport().getIdWidth(), 144,
+              "Legacy project import should have fixed ID width");
+      assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+      
+      
+      af.alignPanel.getAlignViewport().setIdWidth(100);
+      af.alignPanel.updateLayout();
+      assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+      
+      Jalview2XML jv2xml = new jalview.project.Jalview2XML(false);
+      tempfile.delete();
+      jv2xml.saveState(tempfile);
+      assertTrue(jv2xml.errorMessage == null,
+              "Failed to save dummy project with PCA: test broken");
+      af = null;
+      // load again.
+      Desktop.instance.closeAll_actionPerformed(null);
+      af = new FileLoader().LoadFileWaitTillLoaded(
+              tempfile.getCanonicalPath(), DataSourceType.FILE);
+      assertTrue(af.alignPanel.getIdPanel().getIdCanvas()
+              .isManuallyAdjusted());
+      assertEquals(af.alignPanel.getAlignViewport().getIdWidth(), 100,
+              "New project exported and import should have adjusted ID width");
+
+      af.alignPanel.getAlignViewport().setIdWidth(100);
+      af.alignPanel.updateLayout();
+      assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+      
+      // now make it autoadjusted
+      af.alignPanel.getAlignViewport().setIdWidth(-1);
+      af.alignPanel.getIdPanel().getIdCanvas().setManuallyAdjusted(false);
+      af.alignPanel.updateLayout();
+      assertFalse(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+      assertTrue(af.alignPanel.getAlignViewport().getIdWidth()>-1,
+              "New project exported and import should have adjusted ID width");
+      
+      jv2xml = new jalview.project.Jalview2XML(false);
+      tempfile.delete();
+      jv2xml.saveState(tempfile);
+      assertTrue(jv2xml.errorMessage == null,
+              "Failed to save dummy project with PCA: test broken");
+      af = null;
+      // load again.
+      Desktop.instance.closeAll_actionPerformed(null);
+      af = new FileLoader().LoadFileWaitTillLoaded(
+              tempfile.getCanonicalPath(), DataSourceType.FILE);
+      assertFalse(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+      assertTrue(af.alignPanel.getAlignViewport().getIdWidth()>-1,
+              "New project exported and import should have adjusted ID width");
+  }
+
 }