X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FResidueCountTest.java;h=696ed767c16b6811ddc6929b8dc18249226eddda;hb=e83ce5d8ef826fc0b509a51f154abdf734501077;hp=f98e3d3dd6b968a8dfd0df2b978ee80a0f97ab47;hpb=66fd250940f151ec8b2322d98d6bb9627bdc516f;p=jalview.git diff --git a/test/jalview/datamodel/ResidueCountTest.java b/test/jalview/datamodel/ResidueCountTest.java index f98e3d3..696ed76 100644 --- a/test/jalview/datamodel/ResidueCountTest.java +++ b/test/jalview/datamodel/ResidueCountTest.java @@ -1,16 +1,48 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.datamodel; +import java.util.Locale; + import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; import jalview.datamodel.ResidueCount.SymbolCounts; +import jalview.gui.JvOptionPane; import org.junit.Assert; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class ResidueCountTest { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + /** * Test a mix of add and put for nucleotide counting */ @@ -55,13 +87,25 @@ public class ResidueCountTest rc.add('-'); rc.add('.'); rc.add(' '); - + assertEquals(rc.getGapCount(), 4); assertEquals(rc.getCount(' '), 4); assertEquals(rc.getCount('-'), 4); assertEquals(rc.getCount('.'), 4); assertFalse(rc.isUsingOtherData()); assertFalse(rc.isCountingInts()); + + rc.set(ResidueCount.GAP_COUNT, Short.MAX_VALUE - 2); + assertEquals(rc.getGapCount(), Short.MAX_VALUE - 2); + assertFalse(rc.isCountingInts()); + rc.addGap(); + assertEquals(rc.getGapCount(), Short.MAX_VALUE - 1); + assertFalse(rc.isCountingInts()); + rc.addGap(); + assertEquals(rc.getGapCount(), Short.MAX_VALUE); + rc.addGap(); + assertTrue(rc.isCountingInts()); + assertEquals(rc.getGapCount(), Short.MAX_VALUE + 1); } @Test(groups = "Functional") @@ -139,7 +183,7 @@ public class ResidueCountTest ResidueCount rc = new ResidueCount(false); // expected characters (upper or lower case): String aas = "ACDEFGHIKLMNPQRSTVWXY"; - String lower = aas.toLowerCase(); + String lower = aas.toLowerCase(Locale.ROOT); for (int i = 0; i < aas.length(); i++) { rc.put(aas.charAt(i), i); @@ -164,7 +208,7 @@ public class ResidueCountTest ResidueCount rc = new ResidueCount(true); // expected characters (upper or lower case): String nucs = "ACGTUN"; - String lower = nucs.toLowerCase(); + String lower = nucs.toLowerCase(Locale.ROOT); for (int i = 0; i < nucs.length(); i++) { rc.put(nucs.charAt(i), i); @@ -242,7 +286,7 @@ public class ResidueCountTest rc.add('P'); assertEquals(rc.getResiduesForCount(Short.MAX_VALUE + 1), "P"); assertEquals(rc.getResiduesForCount(1), "C"); - + // modal count is in the 'other data' counts rc = new ResidueCount(); rc.add('Q'); @@ -373,7 +417,7 @@ public class ResidueCountTest rc.add('K'); } rc.add('F'); - + /* * percentages are rounded (0.5 rounded up) * 10/40 9/40 7/40 6/40 1/40