JAL-1551 spotlessApply
[jalview.git] / test / jalview / gui / SeqCanvasTest.java
index 22035f1..aa50301 100644 (file)
  */
 package jalview.gui;
 
-import static org.testng.Assert.assertEquals;
-
 import java.awt.Font;
 import java.awt.FontMetrics;
 
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
 
 import jalview.bin.Cache;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SearchResults;
+import jalview.datamodel.SearchResultsI;
+import jalview.io.DataSourceType;
 import jalview.io.DataSourceType;
 import jalview.io.FileLoader;
+
 import junit.extensions.PA;
 
 public class SeqCanvasTest
@@ -78,13 +85,15 @@ public class SeqCanvasTest
     int canvasWidth = 400;
     int canvasHeight = 300;
     int residueColumns = (canvasWidth - 2 * labelWidth) / charWidth;
-    int wrappedWidth = testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
+    int wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
+            canvasHeight);
     assertEquals(wrappedWidth, residueColumns);
     assertEquals(PA.getValue(testee, "labelWidthWest"), labelWidth);
     assertEquals(PA.getValue(testee, "labelWidthEast"), labelWidth);
     assertEquals(PA.getValue(testee, "wrappedSpaceAboveAlignment"),
             2 * charHeight);
-    int repeatingHeight = (int) PA.getValue(testee, "wrappedRepeatHeightPx");
+    int repeatingHeight = (int) PA.getValue(testee,
+            "wrappedRepeatHeightPx");
     assertEquals(repeatingHeight, charHeight * (2 + al.getHeight()));
     assertEquals(PA.getValue(testee, "wrappedVisibleWidths"), 1);
 
@@ -217,7 +226,7 @@ public class SeqCanvasTest
     AlignmentI al = av.getAlignment();
     assertEquals(al.getWidth(), 157);
     assertEquals(al.getHeight(), 15);
-  
+
     av.setWrapAlignment(true);
     av.getRanges().setStartEndSeq(0, 14);
     av.setFont(new Font("SansSerif", Font.PLAIN, 14), true);
@@ -225,9 +234,9 @@ public class SeqCanvasTest
     int charWidth = av.getCharWidth();
     assertEquals(charHeight, 17);
     assertEquals(charWidth, 12);
-  
+
     SeqCanvas testee = af.alignPanel.getSeqPanel().seqCanvas;
-  
+
     /*
      * first with scales above, left, right
      */
@@ -247,17 +256,19 @@ public class SeqCanvasTest
     int canvasWidth = 400;
     int canvasHeight = 300;
     int residueColumns = (canvasWidth - 2 * labelWidth) / charWidth;
-    int wrappedWidth = testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
+    int wrappedWidth = testee.calculateWrappedGeometry(canvasWidth,
+            canvasHeight);
     assertEquals(wrappedWidth, residueColumns);
     assertEquals(PA.getValue(testee, "labelWidthWest"), labelWidth);
     assertEquals(PA.getValue(testee, "labelWidthEast"), labelWidth);
     assertEquals(PA.getValue(testee, "wrappedSpaceAboveAlignment"),
             2 * charHeight);
-    int repeatingHeight = (int) PA.getValue(testee, "wrappedRepeatHeightPx");
+    int repeatingHeight = (int) PA.getValue(testee,
+            "wrappedRepeatHeightPx");
     assertEquals(repeatingHeight, charHeight * (2 + al.getHeight())
             + SeqCanvas.SEQS_ANNOTATION_GAP + annotationHeight);
     assertEquals(PA.getValue(testee, "wrappedVisibleWidths"), 1);
-  
+
     /*
      * repeat height is 17 * (2 + 15) = 289 + 3 + annotationHeight = 510
      * make canvas height 2 of these plus 3 charHeights 
@@ -267,7 +278,7 @@ public class SeqCanvasTest
             + 2 * (annotationHeight + SeqCanvas.SEQS_ANNOTATION_GAP);
     testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
     assertEquals(PA.getValue(testee, "wrappedVisibleWidths"), 3);
-  
+
     /*
      * reduce canvas height by 1 pixel - should not be enough height
      * to draw 3 widths
@@ -275,14 +286,14 @@ public class SeqCanvasTest
     canvasHeight -= 1;
     testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
     assertEquals(PA.getValue(testee, "wrappedVisibleWidths"), 2);
-  
+
     /*
      * turn off scale above - can now fit in 2 and a bit widths
      */
     av.setScaleAboveWrapped(false);
     testee.calculateWrappedGeometry(canvasWidth, canvasHeight);
     assertEquals(PA.getValue(testee, "wrappedVisibleWidths"), 3);
-  
+
     /*
      * reduce height to enough for 2 widths and not quite a third
      * i.e. two repeating heights + spacer + sequence - 1 pixel
@@ -306,7 +317,7 @@ 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()
   {
     AlignViewport av = af.getViewport();
@@ -344,7 +355,7 @@ public class SeqCanvasTest
             Boolean.TRUE.toString());
     af = new FileLoader().LoadFileWaitTillLoaded("examples/uniref50.fa",
             DataSourceType.FILE);
-  
+
     /*
      * wait for Consensus thread to complete
      */
@@ -358,4 +369,25 @@ public class SeqCanvasTest
       }
     } while (af.getViewport().getCalcManager().isWorking());
   }
+
+  @Test(groups = "Functional")
+  public void testClear_HighlightAndSelection()
+  {
+    AlignViewport av = af.getViewport();
+    SearchResultsI highlight = new SearchResults();
+    highlight.addResult(
+            av.getAlignment().getSequenceAt(1).getDatasetSequence(), 50,
+            80);
+    af.alignPanel.highlightSearchResults(highlight);
+    af.avc.markHighlightedColumns(false, false, false);
+    assertNotNull(av.getSearchResults(),
+            "No highlight was created on alignment");
+    assertFalse(av.getColumnSelection().isEmpty(),
+            "No selection was created from highlight");
+    af.deselectAllSequenceMenuItem_actionPerformed(null);
+    assertTrue(av.getColumnSelection().isEmpty(),
+            "No Selection should be present after deselecting all.");
+    assertNull(av.getSearchResults(),
+            "No higlighted search results should be present after deselecting all.");
+  }
 }