X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fbin%2FArgsParserTest.java;fp=test%2Fjalview%2Fbin%2FArgsParserTest.java;h=06e79deb94ec165abaf5c072b9f7fe253b691960;hb=ea7b9666447dea727e9d607de3694cfe27bc811e;hp=0000000000000000000000000000000000000000;hpb=97de0fe6133095ff42dccdbf3a5c3c02d5a91e4d;p=jalview.git diff --git a/test/jalview/bin/ArgsParserTest.java b/test/jalview/bin/ArgsParserTest.java new file mode 100644 index 0000000..06e79de --- /dev/null +++ b/test/jalview/bin/ArgsParserTest.java @@ -0,0 +1,65 @@ +package jalview.bin; + +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertFalse; +import static org.testng.AssertJUnit.assertNull; +import static org.testng.AssertJUnit.assertTrue; + +import org.testng.annotations.Test; + +public class ArgsParserTest +{ + @Test(groups = "Functional") + public void testGetValue() + { + ArgsParser ap = new ArgsParser(new String[] { "-name", "Henry", "-job", + "Tester" }); + assertEquals(4, ap.getSize()); + assertNull(ap.getValue("rubbish")); + assertEquals("Tester", ap.getValue("job")); + // call to getValue removes the argument and its value + assertEquals(2, ap.getSize()); + assertNull(ap.getValue("job")); + assertFalse(ap.contains("job")); + assertFalse(ap.contains("Tester")); + + assertEquals("Henry", ap.getValue("name")); + assertEquals(0, ap.getSize()); + assertNull(ap.getValue("name")); + } + + @Test(groups = "Functional") + public void testGetValue_decoded() + { + ArgsParser ap = new ArgsParser(new String[] { "-name%241", "Henry", + "-job", "Test%203%2a" }); + // parameter value is decoded + assertEquals("Test 3*", ap.getValue("job", true)); + // parameter name is not decoded + assertNull(ap.getValue("name$1", true)); + assertEquals("Henry", ap.getValue("name%241", true)); + } + + @Test(groups = "Functional") + public void testNextValue() + { + ArgsParser ap = new ArgsParser(new String[] { "-name", "Henry", "-job", + "Tester" }); + assertEquals("name", ap.nextValue()); + assertEquals("Henry", ap.nextValue()); + assertEquals("job", ap.nextValue()); + assertEquals("Tester", ap.nextValue()); + } + + @Test(groups = "Functional") + public void testContains() + { + ArgsParser ap = new ArgsParser(new String[] { "-name", "Henry", "-job", + "Tester" }); + assertFalse(ap.contains("Susan")); + assertFalse(ap.contains("-name")); + assertTrue(ap.contains("name")); + // testing for contains removes the argument + assertFalse(ap.contains("name")); + } +}