X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FStringUtilsTest.java;h=b6f8a257a8b79634e6ac331504ce93b1c54570ff;hb=5f4e1e4c330b045e9c8bce28ee132a0fca3834d8;hp=0b776d1272861f523ed98f142de5c83db412edd0;hpb=26ba864a6c290121fe6cf616794d2d0bea65fb7d;p=jalview.git diff --git a/test/jalview/util/StringUtilsTest.java b/test/jalview/util/StringUtilsTest.java index 0b776d1..b6f8a25 100644 --- a/test/jalview/util/StringUtilsTest.java +++ b/test/jalview/util/StringUtilsTest.java @@ -24,16 +24,25 @@ import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertTrue; +import jalview.gui.JvOptionPane; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Map; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class StringUtilsTest { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + @Test(groups = { "Functional" }) public void testInsertCharAt() { @@ -132,46 +141,6 @@ public class StringUtilsTest { "a", "b*c", "cde" }, "*")); } - /** - * Test the method that parses lines like
- * ID=2345;Name=Something; - */ - @Test(groups = { "Functional" }) - public void testParseNameValuePairs() - { - char[] separators = new char[] { ' ' }; - assertTrue(StringUtils.parseNameValuePairs(null, ";", separators) - .isEmpty()); - assertTrue(StringUtils.parseNameValuePairs("", ";", separators) - .isEmpty()); - assertTrue(StringUtils.parseNameValuePairs("hello=world", ";", - separators).isEmpty()); - - Map> map = StringUtils.parseNameValuePairs( - "hello world", ";", separators); - assertEquals(1, map.size()); - assertEquals(1, map.get("hello").size()); - assertEquals("world", map.get("hello").get(0)); - - separators = new char[] { ' ', '=' }; - map = StringUtils - .parseNameValuePairs( - "Method= manual curation ;nothing; Notes F2=S ; Notes=Metal; Type=", - ";", separators); - - // Type is ignored as no value was supplied - assertEquals(2, map.size()); - - // equals separator used ahead of space separator: - assertEquals(1, map.get("Method").size()); - assertEquals("manual curation", map.get("Method").get(0)); // trimmed - - assertEquals(2, map.get("Notes").size()); - // space separator used ahead of equals separator - assertEquals("F2=S", map.get("Notes").get(0)); - assertEquals("Metal", map.get("Notes").get(1)); - } - @Test(groups = { "Functional" }) public void testListToDelimitedString() { @@ -206,4 +175,57 @@ public class StringUtilsTest assertEquals(0, StringUtils.parseInt(String.valueOf(Integer.MAX_VALUE) + "1")); } + + @Test(groups = { "Functional" }) + public void testCompareVersions() + { + assertEquals(0, StringUtils.compareVersions(null, null)); + assertEquals(0, StringUtils.compareVersions("2.8.3", null)); + + /* + * same version returns 0 + */ + assertEquals(0, StringUtils.compareVersions("2.8", "2.8")); + assertEquals(0, StringUtils.compareVersions("2.8.3", "2.8.3")); + assertEquals(0, StringUtils.compareVersions("2.8.3b1", "2.8.3b1", "b")); + assertEquals(0, StringUtils.compareVersions("2.8.3B1", "2.8.3b1", "b")); + assertEquals(0, StringUtils.compareVersions("2.8.3b1", "2.8.3B1", "b")); + + /* + * v1 < v2 returns -1 + */ + assertEquals(-1, StringUtils.compareVersions("2.8.3", "2.8.4")); + assertEquals(-1, StringUtils.compareVersions("2.8.3", "2.9")); + assertEquals(-1, StringUtils.compareVersions("2.8.3", "2.9.2")); + assertEquals(-1, StringUtils.compareVersions("2.8", "2.8.3")); + assertEquals(-1, StringUtils.compareVersions("2.8.3", "2.8.3b1", "b")); + assertEquals(-1, StringUtils.compareVersions("2.8.3b1", "2.8.3b2", "b")); + assertEquals(-1, StringUtils.compareVersions("2.8", "2.8.0", "b")); + assertEquals(-1, StringUtils.compareVersions("2", "12")); + assertEquals(-1, StringUtils.compareVersions("3.2.4", "3.12.11")); + + /* + * v1 > v2 returns +1 + */ + assertEquals(1, StringUtils.compareVersions("2.8.3", "2.8")); + assertEquals(1, StringUtils.compareVersions("2.8.0", "2.8")); + assertEquals(1, StringUtils.compareVersions("2.8.4", "2.8.3")); + assertEquals(1, StringUtils.compareVersions("2.8.3b1", "2.8.3", "b")); + assertEquals(1, StringUtils.compareVersions("2.8.3", "2.8.2b1", "b")); + assertEquals(1, StringUtils.compareVersions("2.8.0b2", "2.8.0b1", "b")); + assertEquals(1, StringUtils.compareVersions("12", "2")); + assertEquals(1, StringUtils.compareVersions("3.12.11", "3.2.4")); + } + + @Test(groups = { "Functional" }) + public void testToSentenceCase() + { + assertEquals("John", StringUtils.toSentenceCase("john")); + assertEquals("John", StringUtils.toSentenceCase("JOHN")); + assertEquals("John and james", + StringUtils.toSentenceCase("JOHN and JAMES")); + assertEquals("J", StringUtils.toSentenceCase("j")); + assertEquals("", StringUtils.toSentenceCase("")); + assertNull(StringUtils.toSentenceCase(null)); + } }