X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FSeqCanvasTest.java;h=aa50301f215b39d30dbc83773f62bb9613ab9307;hb=01e95ae1be5ae83392de930dea48c531e2afa339;hp=aaacce0ac21522f8d262cf18be3290c7cf4bd440;hpb=2309d617e715b513fa750569a8ef49b81cd40e34;p=jalview.git diff --git a/test/jalview/gui/SeqCanvasTest.java b/test/jalview/gui/SeqCanvasTest.java index aaacce0..aa50301 100644 --- a/test/jalview/gui/SeqCanvasTest.java +++ b/test/jalview/gui/SeqCanvasTest.java @@ -20,18 +20,25 @@ */ 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 @@ -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."); + } }