JAL-3273 small correction to expected result calculation
[jalview.git] / test / jalview / gui / SeqPanelTest.java
index 0d49936..cd0b594 100644 (file)
@@ -39,8 +39,8 @@ import jalview.gui.SeqPanel.MousePos;
 import jalview.io.DataSourceType;
 import jalview.io.FileLoader;
 import jalview.util.MessageManager;
+import jalview.viewmodel.ViewportRanges;
 
-import java.awt.Event;
 import java.awt.EventQueue;
 import java.awt.event.MouseEvent;
 import java.lang.reflect.InvocationTargetException;
@@ -241,7 +241,7 @@ public class SeqPanelTest
     /*
      * mouse at top left of unwrapped panel
      */
-    MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+    MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
             0, 0, 0, false, 0);
     MousePos pos = testee.findMousePosition(evt);
     assertEquals(pos.column, 0);
@@ -266,8 +266,8 @@ public class SeqPanelTest
     av.setScaleAboveWrapped(false);
     av.setScaleLeftWrapped(false);
     av.setScaleRightWrapped(false);
-    alignFrame.alignPanel.paintAlignment(false, false);
-    waitForSwing(); // for Swing thread
+
+    alignFrame.alignPanel.updateLayout();
 
     final int charHeight = av.getCharHeight();
     final int charWidth = av.getCharWidth();
@@ -286,7 +286,7 @@ public class SeqPanelTest
      * mouse at top left of wrapped panel; there is a gap of charHeight
      * above the alignment
      */
-    MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+    MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
             0, 0, 0, false, 0);
     MousePos pos = testee.findMousePosition(evt);
     assertEquals(pos.column, 0);
@@ -297,7 +297,7 @@ public class SeqPanelTest
      * cursor at bottom of gap above
      */
     y = charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -307,7 +307,7 @@ public class SeqPanelTest
      * cursor over top of first sequence
      */
     y = charHeight;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -317,7 +317,7 @@ public class SeqPanelTest
      * cursor at bottom of first sequence
      */
     y = 2 * charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -327,7 +327,7 @@ public class SeqPanelTest
      * cursor at top of second sequence
      */
     y = 2 * charHeight;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 1);
@@ -337,7 +337,7 @@ public class SeqPanelTest
      * cursor at bottom of second sequence
      */
     y = 3 * charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 1);
@@ -347,7 +347,7 @@ public class SeqPanelTest
      * cursor at bottom of last sequence
      */
     y = charHeight * (1 + alignmentHeight) - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -358,7 +358,7 @@ public class SeqPanelTest
      * method reports index of nearest sequence above
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -368,7 +368,7 @@ public class SeqPanelTest
      * cursor still in the gap above annotations, now at the bottom of it
      */
     y += SeqCanvas.SEQS_ANNOTATION_GAP - 1; // 3-1 = 2
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -382,7 +382,7 @@ public class SeqPanelTest
        * cursor at the top of the n'th annotation  
        */
       y += 1;
-      evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+      evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
               false, 0);
       pos = testee.findMousePosition(evt);
       assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -392,7 +392,7 @@ public class SeqPanelTest
        * cursor at the bottom of the n'th annotation  
        */
       y += annotationRows[n].height - 1;
-      evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+      evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
               false, 0);
       pos = testee.findMousePosition(evt);
       assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -403,7 +403,7 @@ public class SeqPanelTest
      * cursor in gap between wrapped widths  
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -413,7 +413,7 @@ public class SeqPanelTest
      * cursor at bottom of gap between wrapped widths  
      */
     y += charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -423,7 +423,7 @@ public class SeqPanelTest
      * cursor at top of first sequence, second wrapped width  
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -441,8 +441,7 @@ public class SeqPanelTest
     av.setScaleAboveWrapped(true);
     av.setScaleLeftWrapped(false);
     av.setScaleRightWrapped(false);
-    alignFrame.alignPanel.paintAlignment(false, false);
-    waitForSwing();
+    alignFrame.alignPanel.updateLayout();
 
     final int charHeight = av.getCharHeight();
     final int charWidth = av.getCharWidth();
@@ -461,7 +460,7 @@ public class SeqPanelTest
      * mouse at top left of wrapped panel; there is a gap of charHeight
      * above the alignment
      */
-    MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+    MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
             0, 0, 0, false, 0);
     MousePos pos = testee.findMousePosition(evt);
     assertEquals(pos.column, 0);
@@ -473,7 +472,7 @@ public class SeqPanelTest
      * two charHeights including scale panel
      */
     y = 2 * charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -483,7 +482,7 @@ public class SeqPanelTest
      * cursor over top of first sequence
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -493,7 +492,7 @@ public class SeqPanelTest
      * cursor at bottom of first sequence
      */
     y += charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -503,7 +502,7 @@ public class SeqPanelTest
      * cursor at top of second sequence
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 1);
@@ -513,7 +512,7 @@ public class SeqPanelTest
      * cursor at bottom of second sequence
      */
     y += charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 1);
@@ -524,7 +523,7 @@ public class SeqPanelTest
      * (scale + gap + sequences)
      */
     y = charHeight * (2 + alignmentHeight) - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -534,7 +533,7 @@ public class SeqPanelTest
      * cursor below sequences, in 3-pixel gap above annotations
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -545,7 +544,7 @@ public class SeqPanelTest
      * method reports index of nearest sequence above  
      */
     y += SeqCanvas.SEQS_ANNOTATION_GAP - 1; // 3-1 = 2
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -558,7 +557,7 @@ public class SeqPanelTest
        * cursor at the top of the n'th annotation  
        */
       y += 1;
-      evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+      evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
               false, 0);
       pos = testee.findMousePosition(evt);
       assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -568,7 +567,7 @@ public class SeqPanelTest
        * cursor at the bottom of the n'th annotation  
        */
       y += annotationRows[n].height - 1;
-      evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+      evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
               false, 0);
       pos = testee.findMousePosition(evt);
       assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -579,7 +578,7 @@ public class SeqPanelTest
      * cursor in gap between wrapped widths  
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -589,7 +588,7 @@ public class SeqPanelTest
      * cursor at bottom of gap between wrapped widths  
      */
     y += charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -599,7 +598,7 @@ public class SeqPanelTest
      * cursor at top of scale, second wrapped width  
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -609,7 +608,7 @@ public class SeqPanelTest
      * cursor at bottom of scale, second wrapped width  
      */
     y += charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -619,7 +618,7 @@ public class SeqPanelTest
      * cursor at top of first sequence, second wrapped width  
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -637,8 +636,7 @@ public class SeqPanelTest
     av.setScaleAboveWrapped(false);
     av.setScaleLeftWrapped(false);
     av.setScaleRightWrapped(false);
-    alignFrame.alignPanel.paintAlignment(false, false);
-    waitForSwing();
+    alignFrame.alignPanel.updateLayout();
 
     final int charHeight = av.getCharHeight();
     final int charWidth = av.getCharWidth();
@@ -657,7 +655,7 @@ public class SeqPanelTest
      * mouse at top left of wrapped panel; there is a gap of charHeight
      * above the alignment
      */
-    MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y,
+    MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y,
             0, 0, 0, false, 0);
     MousePos pos = testee.findMousePosition(evt);
     assertEquals(pos.column, 0);
@@ -668,7 +666,7 @@ public class SeqPanelTest
      * cursor over top of first sequence
      */
     y = charHeight;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -678,7 +676,7 @@ public class SeqPanelTest
      * cursor at bottom of last sequence
      */
     y = charHeight * (1 + alignmentHeight) - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, alignmentHeight - 1);
@@ -688,7 +686,7 @@ public class SeqPanelTest
      * cursor below sequences, at top of charHeight gap between widths
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -698,7 +696,7 @@ public class SeqPanelTest
      * cursor below sequences, at top of charHeight gap between widths
      */
     y += charHeight - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, -1);
@@ -708,7 +706,7 @@ public class SeqPanelTest
      * cursor at the top of the first sequence, second width  
      */
     y += 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, y, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, y, 0, 0, 0,
             false, 0);
     pos = testee.findMousePosition(evt);
     assertEquals(pos.seqIndex, 0);
@@ -725,12 +723,13 @@ public class SeqPanelTest
     int x = 0;
     final int charWidth = alignFrame.getViewport().getCharWidth();
     assertTrue(charWidth > 0); // sanity check
-    assertEquals(alignFrame.getViewport().getRanges().getStartRes(), 0);
+    ViewportRanges ranges = alignFrame.getViewport().getRanges();
+    assertEquals(ranges.getStartRes(), 0);
 
     /*
      * mouse at top left of unwrapped panel
      */
-    MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+    MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
             0, 0, 0, false, 0);
     assertEquals(testee.findColumn(evt), 0);
     
@@ -738,7 +737,7 @@ public class SeqPanelTest
      * not quite one charWidth across
      */
     x = charWidth-1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
             0, 0, 0, false, 0);
     assertEquals(testee.findColumn(evt), 0);
 
@@ -746,7 +745,7 @@ public class SeqPanelTest
      * one charWidth across
      */
     x = charWidth;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), 1);
 
@@ -754,7 +753,7 @@ public class SeqPanelTest
      * two charWidths across
      */
     x = 2 * charWidth;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), 2);
 
@@ -762,12 +761,14 @@ public class SeqPanelTest
      * limited to last column of seqcanvas
      */
     x = 20000;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     SeqCanvas seqCanvas = alignFrame.alignPanel.getSeqPanel().seqCanvas;
     int w = seqCanvas.getWidth();
-    // limited to number of whole columns, base 0
-    int expected = w / charWidth - 1;
+    // limited to number of whole columns, base 0,
+    // and to end of visible range
+    int expected = w / charWidth;
+    expected = Math.min(expected, ranges.getEndRes());
     assertEquals(testee.findColumn(evt), expected);
 
     /*
@@ -776,7 +777,7 @@ public class SeqPanelTest
     alignFrame.getViewport().hideColumns(4, 9);
     x = 5 * charWidth + 2;
     // x is in 6th visible column, absolute column 12, or 11 base 0
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), 11);
   }
@@ -791,9 +792,7 @@ public class SeqPanelTest
     av.setScaleAboveWrapped(false);
     av.setScaleLeftWrapped(false);
     av.setScaleRightWrapped(false);
-    alignFrame.alignPanel.paintAlignment(false, false);
-    // need to wait for repaint to finish!
-    waitForSwing();
+    alignFrame.alignPanel.updateLayout();
     SeqPanel testee = alignFrame.alignPanel.getSeqPanel();
     int x = 0;
     final int charWidth = av.getCharWidth();
@@ -803,7 +802,7 @@ public class SeqPanelTest
     /*
      * mouse at top left of wrapped panel, no West (left) scale
      */
-    MouseEvent evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+    MouseEvent evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
             0, 0, 0, false, 0);
     assertEquals(testee.findColumn(evt), 0);
     
@@ -811,7 +810,7 @@ public class SeqPanelTest
      * not quite one charWidth across
      */
     x = charWidth-1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0,
             0, 0, 0, false, 0);
     assertEquals(testee.findColumn(evt), 0);
   
@@ -819,7 +818,7 @@ public class SeqPanelTest
      * one charWidth across
      */
     x = charWidth;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), 1);
 
@@ -827,18 +826,17 @@ public class SeqPanelTest
      * x over scale left (before drawn columns) results in -1
      */
     av.setScaleLeftWrapped(true);
-    alignFrame.alignPanel.paintAlignment(false, false);
-    waitForSwing();
+    alignFrame.alignPanel.updateLayout();
     SeqCanvas seqCanvas = testee.seqCanvas;
     int labelWidth = (int) PA.getValue(seqCanvas, "labelWidthWest");
     assertTrue(labelWidth > 0);
     x = labelWidth - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), -1);
 
     x = labelWidth;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), 0);
 
@@ -848,7 +846,7 @@ public class SeqPanelTest
     int residuesWide = av.getRanges().getViewportWidth();
     assertTrue(residuesWide > 0);
     x = labelWidth + charWidth * residuesWide - 1;
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), residuesWide - 1);
 
@@ -856,15 +854,14 @@ public class SeqPanelTest
      * x over scale right (beyond drawn columns) results in -1
      */
     av.setScaleRightWrapped(true);
-    alignFrame.alignPanel.paintAlignment(false, false);
-    waitForSwing();
+    alignFrame.alignPanel.updateLayout();
     labelWidth = (int) PA.getValue(seqCanvas, "labelWidthEast");
     assertTrue(labelWidth > 0);
     int residuesWide2 = av.getRanges().getViewportWidth();
     assertTrue(residuesWide2 > 0);
     assertTrue(residuesWide2 < residuesWide); // available width reduced
     x += 1; // just over left edge of scale right
-    evt = new MouseEvent(testee, Event.MOUSE_MOVE, 0L, 0, x, 0, 0, 0, 0,
+    evt = new MouseEvent(testee, MouseEvent.MOUSE_MOVED, 0L, 0, x, 0, 0, 0, 0,
             false, 0);
     assertEquals(testee.findColumn(evt), -1);