JAL-3253-applet JAL-3423 TestNG/Win
[jalview.git] / test / jalview / gui / SeqCanvasTest.java
index 7d0e256..25c4862 100644 (file)
@@ -26,6 +26,7 @@ import jalview.bin.Cache;
 import jalview.datamodel.AlignmentI;
 import jalview.io.DataSourceType;
 import jalview.io.FileLoader;
+import jalview.util.Platform;
 
 import java.awt.Font;
 import java.awt.FontMetrics;
@@ -47,7 +48,7 @@ public class SeqCanvasTest
    * Test the method that computes wrapped width in residues, height of wrapped
    * widths in pixels, and the number of widths visible
    */
-  @Test(groups = "Functional")
+  @Test(groups = "BHTEST")
   public void testCalculateWrappedGeometry_noAnnotations()
   {
     AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
@@ -64,8 +65,8 @@ public class SeqCanvasTest
     av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
     int charHeight = av.getCharHeight();
     int charWidth = av.getCharWidth();
-    assertEquals(charHeight, 17);
-    assertEquals(charWidth, 12);
+    assertEquals(charHeight, Platform.isMac() ? 17 : 19);
+    assertEquals(charWidth, Platform.isMac() ? 12 : 11);
 
     /*
      * first with scales above, left, right
@@ -76,7 +77,8 @@ public class SeqCanvasTest
     av.setScaleRightWrapped(true);
     FontMetrics fm = testee.getFontMetrics(av.getFont());
     int labelWidth = fm.stringWidth("000") + charWidth;
-    assertEquals(labelWidth, 39); // 3 x 9 + charWidth
+    assertEquals(labelWidth,
+            Platform.isMac() ? 3 * 9 + charWidth : 3 * 8 + charWidth);
 
     /*
      * width 400 pixels leaves (400 - 2*labelWidth) for residue columns
@@ -198,7 +200,7 @@ public class SeqCanvasTest
     canvasWidth += 2;
     wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
             canvasHeight);
-    assertEquals(wrappedWidth, 24); // 2px not enough
+    assertEquals(wrappedWidth, Platform.isMac() ? 24 : 25); // 2px not enough
     canvasWidth += 1;
     wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
             canvasHeight);
@@ -217,7 +219,7 @@ public class SeqCanvasTest
    * Test the method that computes wrapped width in residues, height of wrapped
    * widths in pixels, and the number of widths visible
    */
-  @Test(groups = "Functional")
+  @Test(groups = "BHTEST")
   public void testCalculateWrappedGeometry_withAnnotations()
   {
     AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
@@ -232,9 +234,10 @@ public class SeqCanvasTest
     av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
     int charHeight = av.getCharHeight();
     int charWidth = av.getCharWidth();
-    assertEquals(charHeight, 17);
-    assertEquals(charWidth, 12);
-  
+
+    assertEquals(charHeight, Platform.isMac() ? 17 : 19);
+    assertEquals(charWidth, Platform.isMac() ? 12 : 11);
+
     SeqCanvas testee = af.alignPanel.getSeqPanel().seqCanvas;
   
     /*
@@ -244,9 +247,12 @@ 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, 39); // 3 x 9 + charWidth
+    assertEquals(labelWidth,
+            Platform.isMac() ? 3 * 9 + charWidth : 3 * 8 + charWidth);
+
     int annotationHeight = testee.getAnnotationHeight();
 
     /*
@@ -315,7 +321,7 @@ public class SeqCanvasTest
    * endSeq should be unchanged, but the vertical repeat height should include
    * all sequences.
    */
-  @Test(groups = "Functional")
+  @Test(groups = "BHTEST")
   public void testCalculateWrappedGeometry_fromScrolled()
   {
     AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
@@ -325,22 +331,36 @@ public class SeqCanvasTest
     assertEquals(al.getWidth(), 157);
     assertEquals(al.getHeight(), 15);
     av.getRanges().setStartEndSeq(0, 3);
+    System.out.println("SCT1 " + av.getRanges().getEndSeq());
     av.setShowAnnotation(false);
     av.setScaleAboveWrapped(true);
 
+    System.out.println("SCT2 " + av.getRanges().getEndSeq());
+
     SeqCanvas testee = af.alignPanel.getSeqPanel().seqCanvas;
 
+    System.out.println("SCT3 " + av.getRanges().getEndSeq());
+
     av.setWrapAlignment(true);
+
+    System.out.println("SCT4 " + av.getRanges().getEndSeq());
+
     av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
+
+    System.out.println("SCT5 " + av.getRanges().getEndSeq());
+
     int charHeight = av.getCharHeight();
     int charWidth = av.getCharWidth();
-    assertEquals(charHeight, 17);
-    assertEquals(charWidth, 12);
+    // Windows h=19, w=11.
+    assertEquals(charHeight, Platform.isMac() ? 17 : 19);
+    assertEquals(charWidth, Platform.isMac() ? 12 : 11);
 
     int canvasWidth = 400;
     int canvasHeight = 300;
     testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
 
+    System.out.println("SCT6 " + av.getRanges().getEndSeq());
+
     assertEquals(av.getRanges().getEndSeq(), 3); // unchanged
     int repeatingHeight = (int) PA.getValue(testee,
             "wrappedRepeatHeightPx");