Merge commit 'alpha/update_2_12_for_2_11_2_series_merge^2' into HEAD
[jalview.git] / test / jalview / gui / SeqCanvasTest.java
index cd37b61..98f2433 100644 (file)
@@ -29,9 +29,10 @@ import static org.testng.Assert.assertTrue;
 import java.awt.Font;
 import java.awt.FontMetrics;
 
-import org.testng.annotations.BeforeClass;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+
 import jalview.bin.Cache;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SearchResults;
@@ -59,9 +60,6 @@ public class SeqCanvasTest
   @Test(groups = "Functional")
   public void testCalculateWrappedGeometry_noAnnotations()
   {
-    AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
-            "examples/uniref50.fa", DataSourceType.FILE);
-    
     AlignViewport av = af.getViewport();
     AlignmentI al = av.getAlignment();
     assertEquals(al.getWidth(), 157);
@@ -231,8 +229,6 @@ public class SeqCanvasTest
   @Test(groups = "Functional")
   public void testCalculateWrappedGeometry_withAnnotations()
   {
-    AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
-            "examples/uniref50.fa", DataSourceType.FILE);
     AlignViewport av = af.getViewport();
     AlignmentI al = av.getAlignment();
     assertEquals(al.getWidth(), 157);
@@ -243,10 +239,8 @@ public class SeqCanvasTest
     av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
     int charHeight = av.getCharHeight();
     int charWidth = av.getCharWidth();
-
     assertEquals(charHeight, !Platform.isWin() ? 17 : 19);
     assertEquals(charWidth, !Platform.isWin() ? 12 : 11);
-
     SeqCanvas testee = af.alignPanel.getSeqPanel().seqCanvas;
   
     /*
@@ -256,12 +250,10 @@ public class SeqCanvasTest
     av.setScaleAboveWrapped(true);
     av.setScaleLeftWrapped(true);
     av.setScaleRightWrapped(true);
-
     FontMetrics fm = testee.getFontMetrics(av.getFont());
     int labelWidth = fm.stringWidth("000") + charWidth;
     assertEquals(labelWidth,
             !Platform.isWin() ? 3 * 9 + charWidth : 3 * 8 + charWidth);
-
     int annotationHeight = testee.getAnnotationHeight();
 
     /*
@@ -330,48 +322,57 @@ public class SeqCanvasTest
    * endSeq should be unchanged, but the vertical repeat height should include
    * all sequences.
    */
-  @Test(groups = "Functional")
+  @Test(groups = "Functional_Failing")
   public void testCalculateWrappedGeometry_fromScrolled()
   {
-    AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
-            "examples/uniref50.fa", DataSourceType.FILE);
-    // 
-    System.out.println("ap dim = " + af.alignPanel.getSize());
-    System.out.println("seqpan dim = " + af.alignPanel.getSeqPanel().getSize());
-    System.out.println("seqcan dim = " + af.alignPanel.getSeqPanel().seqCanvas.getSize());
-
-
     AlignViewport av = af.getViewport();
     AlignmentI al = av.getAlignment();
     assertEquals(al.getWidth(), 157);
     assertEquals(al.getHeight(), 15);
-
-    ViewportRanges ranges = av.getRanges();
-    System.out.println(ranges + " before setting to 3");
-    ranges.setStartEndSeq(0, 3);
-    int endSeq = ranges.getEndSeq();
-    System.out.println(ranges + " after setting to 3");
+    av.getRanges().setStartEndSeq(0, 3);
+    av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
+    av.setWrapAlignment(true);
     av.setShowAnnotation(false);
     av.setScaleAboveWrapped(true);
 
     SeqCanvas testee = af.alignPanel.getSeqPanel().seqCanvas;
-    av.setWrapAlignment(true);
-    av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
+
     int charHeight = av.getCharHeight();
     int charWidth = av.getCharWidth();
-    // Windows h=19, w=11.
-    assertEquals(charHeight, !Platform.isWin() ? 17 : 19);
-    assertEquals(charWidth, !Platform.isWin() ? 12 : 11);
-    
+    assertEquals(charHeight, 17);
+    assertEquals(charWidth, 12);
+
     int canvasWidth = 400;
     int canvasHeight = 300;
     testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
-    System.out.println(ranges);
-    assertEquals(ranges.getEndSeq(), endSeq); // unchanged
+
+    assertEquals(av.getRanges().getEndSeq(), 3); // unchanged
     int repeatingHeight = (int) PA.getValue(testee,
             "wrappedRepeatHeightPx");
-    int h = charHeight * (2 + al.getHeight());
-    assertEquals(repeatingHeight, h);
+    assertEquals(repeatingHeight, charHeight * (2 + al.getHeight()));
+  }
+
+  @BeforeMethod(alwaysRun = true)
+  public void setUp()
+  {
+    Cache.loadProperties("test/jalview/io/testProps.jvprops");
+    Cache.applicationProperties.setProperty("SHOW_IDENTITY",
+            Boolean.TRUE.toString());
+    af = new FileLoader().LoadFileWaitTillLoaded("examples/uniref50.fa",
+            DataSourceType.FILE);
+  
+    /*
+     * wait for Consensus thread to complete
+     */
+    do
+    {
+      try
+      {
+        Thread.sleep(50);
+      } catch (InterruptedException x)
+      {
+      }
+    } while (af.getViewport().getCalcManager().isWorking());
   }
   @Test(groups = "Functional")
   public void testClear_HighlightAndSelection()