X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FSeqCanvasTest.java;h=98f2433ff1aeced7b19741056bc713cc0b06717f;hb=304e64fb34b32659be1bbfd39fb4e15b2f79586e;hp=aaacce0ac21522f8d262cf18be3290c7cf4bd440;hpb=2309d617e715b513fa750569a8ef49b81cd40e34;p=jalview.git diff --git a/test/jalview/gui/SeqCanvasTest.java b/test/jalview/gui/SeqCanvasTest.java index aaacce0..98f2433 100644 --- a/test/jalview/gui/SeqCanvasTest.java +++ b/test/jalview/gui/SeqCanvasTest.java @@ -21,6 +21,10 @@ package jalview.gui; 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 java.awt.Font; import java.awt.FontMetrics; @@ -28,15 +32,26 @@ import java.awt.FontMetrics; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; + import jalview.bin.Cache; import jalview.datamodel.AlignmentI; +import jalview.datamodel.SearchResults; +import jalview.datamodel.SearchResultsI; import jalview.io.DataSourceType; import jalview.io.FileLoader; +import jalview.util.Platform; +import jalview.viewmodel.ViewportRanges; import junit.extensions.PA; public class SeqCanvasTest { - private AlignFrame af; + @BeforeClass(alwaysRun = true) + public void setUp() + { + Cache.loadProperties(null); + Cache.initLogger(); + Desktop.getInstance().setVisible(false); + } /** * Test the method that computes wrapped width in residues, height of wrapped @@ -57,8 +72,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.isWin() ? 17 : 19); + assertEquals(charWidth, !Platform.isWin() ? 12 : 11); /* * first with scales above, left, right @@ -69,7 +84,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.isWin() ? 3 * 9 + charWidth : 3 * 8 + charWidth); /* * width 400 pixels leaves (400 - 2*labelWidth) for residue columns @@ -191,7 +207,7 @@ public class SeqCanvasTest canvasWidth += 2; wrappedWidth = testee.calculateWrappedGeometry(canvasWidth, canvasHeight); - assertEquals(wrappedWidth, 24); // 2px not enough + assertEquals(wrappedWidth, !Platform.isWin() ? 24 : 25); // 2px not enough canvasWidth += 1; wrappedWidth = testee.calculateWrappedGeometry(canvasWidth, canvasHeight); @@ -223,9 +239,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.isWin() ? 17 : 19); + assertEquals(charWidth, !Platform.isWin() ? 12 : 11); SeqCanvas testee = af.alignPanel.getSeqPanel().seqCanvas; /* @@ -237,7 +252,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.isWin() ? 3 * 9 + charWidth : 3 * 8 + charWidth); int annotationHeight = testee.getAnnotationHeight(); /* @@ -358,4 +374,26 @@ public class SeqCanvasTest } } while (af.getViewport().getCalcManager().isWorking()); } + @Test(groups = "Functional") + public void testClear_HighlightAndSelection() + { + AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( + "examples/uniref50.fa", DataSourceType.FILE); + 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."); + } }