You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2008/03/22 04:08:35 UTC
svn commit: r639943 [12/17] - in /commons/proper/cli/trunk/src:
java/org/apache/commons/cli2/ java/org/apache/commons/cli2/builder/
java/org/apache/commons/cli2/commandline/
java/org/apache/commons/cli2/option/ java/org/apache/commons/cli2/resource/
ja...
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/builder/DefaultOptionBuilderTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/builder/DefaultOptionBuilderTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/builder/DefaultOptionBuilderTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/builder/DefaultOptionBuilderTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,200 @@
-/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.builder;import junit.framework.TestCase;import org.apache.commons.cli2.Argument;import org.apache.commons.cli2.Group;import org.apache.commons.cli2.option.DefaultOption;im
port org.apache.commons.cli2.resource.ResourceConstants;import org.apache.commons.cli2.resource.ResourceHelper;public class DefaultOptionBuilderTest extends TestCase { private static final ResourceHelper resources = ResourceHelper.getResourceHelper(); private DefaultOptionBuilder defaultOptionBuilder; /* * @see TestCase#setUp() */ protected void setUp() throws Exception { this.defaultOptionBuilder = new DefaultOptionBuilder(); } /* * Class to test for void DefaultOptionBuilder(String, String, boolean) */ public void testNew_NullShortPrefix() { try { new DefaultOptionBuilder(null, null, false); fail("null short prefix is not permitted"); } catch (IllegalArgumentException e) { assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_SHORT_PREFIX), e.getMessage()); } } /* * Class to test for void DefaultOptionBuilder(String, Str
ing, boolean) */ public void testNew_EmptyShortPrefix() { try { new DefaultOptionBuilder("", null, false); fail("empty short prefix is not permitted"); } catch (IllegalArgumentException e) { assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_SHORT_PREFIX), e.getMessage()); } } /* * Class to test for void DefaultOptionBuilder(String, String, boolean) */ public void testNew_NullLongPrefix() { try { new DefaultOptionBuilder("-", null, false); fail("null long prefix is not permitted"); } catch (IllegalArgumentException e) { assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_LONG_PREFIX), e.getMessage()); } } /* * Class to test for void DefaultOptionBuilder(String, String, boolean) */ public void testNew_EmptyLongPrefix() { try { new Def
aultOptionBuilder("-", "", false); fail("empty long prefix is not permitted"); } catch (IllegalArgumentException e) { assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_LONG_PREFIX), e.getMessage()); } } public void testCreate() { try { this.defaultOptionBuilder.create(); fail("options must have a name"); } catch (IllegalStateException e) { assertEquals(resources.getMessage(ResourceConstants.OPTION_NO_NAME), e.getMessage()); } this.defaultOptionBuilder.withShortName("j"); this.defaultOptionBuilder.create(); this.defaultOptionBuilder.withLongName("jkeyes"); this.defaultOptionBuilder.create(); { DefaultOptionBuilder builder = new DefaultOptionBuilder("-", "--", true); builder.withShortName("mx"); } } public void testName() { // withLongName && this.preferred != null
{ this.defaultOptionBuilder.withShortName("a"); this.defaultOptionBuilder.withLongName("apples"); } // withShortName && this.preferred != null { this.defaultOptionBuilder.withLongName("apples"); this.defaultOptionBuilder.withShortName("a"); } // withShortName && this.preferred != null { this.defaultOptionBuilder.withLongName("apples"); this.defaultOptionBuilder.withShortName("a"); } } public void testWithDescription() { String description = "desc"; this.defaultOptionBuilder.withShortName("a"); this.defaultOptionBuilder.withDescription(description); DefaultOption opt = this.defaultOptionBuilder.create(); assertEquals("wrong description found", description, opt.getDescription()); } public void testWithRequired() { { boolean required = false; this.defaultOptionBuilder.withShortName("a
"); this.defaultOptionBuilder.withRequired(required); DefaultOption opt = this.defaultOptionBuilder.create(); assertEquals("wrong required found", required, opt.isRequired()); } { boolean required = true; this.defaultOptionBuilder.withShortName("a"); this.defaultOptionBuilder.withRequired(required); DefaultOption opt = this.defaultOptionBuilder.create(); assertEquals("wrong required found", required, opt.isRequired()); } } public void testWithChildren() { GroupBuilder gbuilder = new GroupBuilder(); this.defaultOptionBuilder.withShortName("a"); this.defaultOptionBuilder.withRequired(true); DefaultOption opt = this.defaultOptionBuilder.create(); Group group = gbuilder.withName("withchildren").withOption(opt).create(); { this.defaultOptionBuilder.withShortName("b"); this.defaultOptionBuilder.withChildr
en(group); DefaultOption option = this.defaultOptionBuilder.create(); assertEquals("wrong children found", group, option.getChildren()); } } public void testWithArgument() { ArgumentBuilder abuilder = new ArgumentBuilder(); abuilder.withName("myarg"); Argument arg = abuilder.create(); this.defaultOptionBuilder.withShortName("a"); this.defaultOptionBuilder.withRequired(true); this.defaultOptionBuilder.withArgument(arg); DefaultOption opt = this.defaultOptionBuilder.create(); assertEquals("wrong argument found", arg, opt.getArgument()); } public void testWithId() { this.defaultOptionBuilder.withShortName("a"); this.defaultOptionBuilder.withId(0); DefaultOption opt = this.defaultOptionBuilder.create(); assertEquals("wrong id found", 0, opt.getId()); }}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.builder;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.cli2.Argument;
+import org.apache.commons.cli2.Group;
+import org.apache.commons.cli2.option.DefaultOption;
+import org.apache.commons.cli2.resource.ResourceConstants;
+import org.apache.commons.cli2.resource.ResourceHelper;
+
+public class DefaultOptionBuilderTest
+ extends TestCase {
+ private static final ResourceHelper resources = ResourceHelper.getResourceHelper();
+ private DefaultOptionBuilder defaultOptionBuilder;
+
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp()
+ throws Exception {
+ this.defaultOptionBuilder = new DefaultOptionBuilder();
+ }
+
+ /*
+ * Class to test for void DefaultOptionBuilder(String, String, boolean)
+ */
+ public void testNew_NullShortPrefix() {
+ try {
+ new DefaultOptionBuilder(null, null, false);
+ fail("null short prefix is not permitted");
+ } catch (IllegalArgumentException e) {
+ assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_SHORT_PREFIX),
+ e.getMessage());
+ }
+ }
+
+ /*
+ * Class to test for void DefaultOptionBuilder(String, String, boolean)
+ */
+ public void testNew_EmptyShortPrefix() {
+ try {
+ new DefaultOptionBuilder("", null, false);
+ fail("empty short prefix is not permitted");
+ } catch (IllegalArgumentException e) {
+ assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_SHORT_PREFIX),
+ e.getMessage());
+ }
+ }
+
+ /*
+ * Class to test for void DefaultOptionBuilder(String, String, boolean)
+ */
+ public void testNew_NullLongPrefix() {
+ try {
+ new DefaultOptionBuilder("-", null, false);
+ fail("null long prefix is not permitted");
+ } catch (IllegalArgumentException e) {
+ assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_LONG_PREFIX),
+ e.getMessage());
+ }
+ }
+
+ /*
+ * Class to test for void DefaultOptionBuilder(String, String, boolean)
+ */
+ public void testNew_EmptyLongPrefix() {
+ try {
+ new DefaultOptionBuilder("-", "", false);
+ fail("empty long prefix is not permitted");
+ } catch (IllegalArgumentException e) {
+ assertEquals(resources.getMessage(ResourceConstants.OPTION_ILLEGAL_LONG_PREFIX),
+ e.getMessage());
+ }
+ }
+
+ public void testCreate() {
+ try {
+ this.defaultOptionBuilder.create();
+ fail("options must have a name");
+ } catch (IllegalStateException e) {
+ assertEquals(resources.getMessage(ResourceConstants.OPTION_NO_NAME), e.getMessage());
+ }
+
+ this.defaultOptionBuilder.withShortName("j");
+ this.defaultOptionBuilder.create();
+ this.defaultOptionBuilder.withLongName("jkeyes");
+ this.defaultOptionBuilder.create();
+
+ {
+ DefaultOptionBuilder builder = new DefaultOptionBuilder("-", "--", true);
+ builder.withShortName("mx");
+ }
+ }
+
+ public void testName() {
+ // withLongName && this.preferred != null
+ {
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withLongName("apples");
+ }
+ // withShortName && this.preferred != null
+ {
+ this.defaultOptionBuilder.withLongName("apples");
+ this.defaultOptionBuilder.withShortName("a");
+ }
+ // withShortName && this.preferred != null
+ {
+ this.defaultOptionBuilder.withLongName("apples");
+ this.defaultOptionBuilder.withShortName("a");
+ }
+ }
+
+ public void testWithDescription() {
+ String description = "desc";
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withDescription(description);
+
+ DefaultOption opt = this.defaultOptionBuilder.create();
+ assertEquals("wrong description found", description, opt.getDescription());
+ }
+
+ public void testWithRequired() {
+ {
+ boolean required = false;
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withRequired(required);
+
+ DefaultOption opt = this.defaultOptionBuilder.create();
+ assertEquals("wrong required found", required, opt.isRequired());
+ }
+
+ {
+ boolean required = true;
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withRequired(required);
+
+ DefaultOption opt = this.defaultOptionBuilder.create();
+ assertEquals("wrong required found", required, opt.isRequired());
+ }
+ }
+
+ public void testWithChildren() {
+ GroupBuilder gbuilder = new GroupBuilder();
+
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withRequired(true);
+
+ DefaultOption opt = this.defaultOptionBuilder.create();
+
+ Group group = gbuilder.withName("withchildren").withOption(opt).create();
+
+ {
+ this.defaultOptionBuilder.withShortName("b");
+ this.defaultOptionBuilder.withChildren(group);
+
+ DefaultOption option = this.defaultOptionBuilder.create();
+ assertEquals("wrong children found", group, option.getChildren());
+ }
+ }
+
+ public void testWithArgument() {
+ ArgumentBuilder abuilder = new ArgumentBuilder();
+ abuilder.withName("myarg");
+
+ Argument arg = abuilder.create();
+
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withRequired(true);
+ this.defaultOptionBuilder.withArgument(arg);
+
+ DefaultOption opt = this.defaultOptionBuilder.create();
+
+ assertEquals("wrong argument found", arg, opt.getArgument());
+ }
+
+ public void testWithId() {
+ this.defaultOptionBuilder.withShortName("a");
+ this.defaultOptionBuilder.withId(0);
+
+ DefaultOption opt = this.defaultOptionBuilder.create();
+
+ assertEquals("wrong id found", 0, opt.getId());
+ }
+}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/DefaultingCommandLineTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/DefaultingCommandLineTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/DefaultingCommandLineTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/DefaultingCommandLineTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,151 @@
-/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.commandline;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.Set;import org.apache.commons.cli2.CommandLine;import org.ap
ache.commons.cli2.CommandLineTestCase;import org.apache.commons.cli2.Option;import org.apache.commons.cli2.WriteableCommandLine;import org.apache.commons.cli2.builder.DefaultOptionBuilder;/** * @author Rob Oxspring */public class DefaultingCommandLineTest extends CommandLineTestCase { private CommandLine first; private CommandLine second; private Option inFirst = new DefaultOptionBuilder().withLongName("infirst").create(); private Option inBoth = new DefaultOptionBuilder().withLongName("inboth").create(); private Option inSecond = new DefaultOptionBuilder().withLongName("insecond").create(); /* (non-Javadoc) * @see org.apache.commons.cli2.CommandLineTest#createCommandLine() */ protected final CommandLine createCommandLine() { final WriteableCommandLine writeable = new WriteableCommandLineImpl(root, new ArrayList()); writeable.addOption(present); writeable.addProperty("present", "present property"); writeable.addSwit
ch(bool, true); writeable.addValue(present, "present value"); writeable.addOption(multiple); writeable.addValue(multiple, "value 1"); writeable.addValue(multiple, "value 2"); writeable.addValue(multiple, "value 3"); final DefaultingCommandLine defaults = new DefaultingCommandLine(); defaults.appendCommandLine(writeable); return defaults; } public void setUp() throws Exception { super.setUp(); WriteableCommandLine writeable; writeable = new WriteableCommandLineImpl(root, new ArrayList()); writeable.addOption(inFirst); writeable.addOption(inBoth); writeable.addProperty("infirst", "infirst first value"); writeable.addProperty("inboth", "inboth first value"); writeable.addSwitch(inFirst, true); writeable.addSwitch(inBoth, true); writeable.addValue(inFirst, "infirst first value 1"); writeable.addValue(inFirst, "infirst first value 2");
writeable.addValue(inBoth, "inboth first value 1"); writeable.addValue(inBoth, "inboth first value 2"); first = writeable; writeable = new WriteableCommandLineImpl(root, new ArrayList()); writeable.addOption(inSecond); writeable.addOption(inBoth); writeable.addProperty("insecond", "insecond second value"); writeable.addProperty("inboth", "inboth second value"); writeable.addSwitch(inSecond, true); writeable.addSwitch(inBoth, true); writeable.addValue(inSecond, "insecond second value 1"); writeable.addValue(inSecond, "insecond second value 2"); writeable.addValue(inBoth, "inboth second value 1"); writeable.addValue(inBoth, "inboth second value 2"); second = writeable; } public final void testAppendCommandLine() { final DefaultingCommandLine defaults = new DefaultingCommandLine(); Iterator i; i = defaults.commandLines(); assertFalse(i.hasNe
xt()); defaults.appendCommandLine(first); i = defaults.commandLines(); assertSame(first, i.next()); assertFalse(i.hasNext()); defaults.appendCommandLine(second); i = defaults.commandLines(); assertSame(first, i.next()); assertSame(second, i.next()); assertFalse(i.hasNext()); } public final void testInsertCommandLine() { final DefaultingCommandLine defaults = new DefaultingCommandLine(); Iterator i; i = defaults.commandLines(); assertFalse(i.hasNext()); defaults.insertCommandLine(0, first); i = defaults.commandLines(); assertSame(first, i.next()); assertFalse(i.hasNext()); defaults.insertCommandLine(0, second); i = defaults.commandLines(); assertSame(second, i.next()); assertSame(first, i.next()); assertFalse(i.hasNext()); } public void testTriggers() { final DefaultingCommandLine defaults = new Defaulting
CommandLine(); defaults.appendCommandLine(first); defaults.appendCommandLine(second); Set set = defaults.getOptionTriggers(); Iterator iter = set.iterator(); assertEquals("wrong # of triggers", 3, set.size()); assertTrue("cannot find trigger", set.contains("--insecond")); assertTrue("cannot find trigger", set.contains("--inboth")); assertTrue("cannot find trigger", set.contains("--infirst")); } public void testDefaults() { final DefaultingCommandLine defaults = new DefaultingCommandLine(); assertEquals("wrong # of defaults", 0, defaults.getValues("--insecond").size()); assertEquals("wrong Set of defaults", Collections.EMPTY_LIST, defaults.getValues("--insecond", null)); }}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.commandline;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.CommandLineTestCase;
+import org.apache.commons.cli2.Option;
+import org.apache.commons.cli2.WriteableCommandLine;
+import org.apache.commons.cli2.builder.DefaultOptionBuilder;
+
+/**
+ * @author Rob Oxspring
+ */
+public class DefaultingCommandLineTest
+ extends CommandLineTestCase {
+ private CommandLine first;
+ private CommandLine second;
+ private Option inFirst = new DefaultOptionBuilder().withLongName("infirst").create();
+ private Option inBoth = new DefaultOptionBuilder().withLongName("inboth").create();
+ private Option inSecond = new DefaultOptionBuilder().withLongName("insecond").create();
+
+ /* (non-Javadoc)
+ * @see org.apache.commons.cli2.CommandLineTest#createCommandLine()
+ */
+ protected final CommandLine createCommandLine() {
+ final WriteableCommandLine writeable = new WriteableCommandLineImpl(root, new ArrayList());
+ writeable.addOption(present);
+ writeable.addProperty("present", "present property");
+ writeable.addSwitch(bool, true);
+ writeable.addValue(present, "present value");
+ writeable.addOption(multiple);
+ writeable.addValue(multiple, "value 1");
+ writeable.addValue(multiple, "value 2");
+ writeable.addValue(multiple, "value 3");
+
+ final DefaultingCommandLine defaults = new DefaultingCommandLine();
+ defaults.appendCommandLine(writeable);
+
+ return defaults;
+ }
+
+ public void setUp()
+ throws Exception {
+ super.setUp();
+
+ WriteableCommandLine writeable;
+
+ writeable = new WriteableCommandLineImpl(root, new ArrayList());
+ writeable.addOption(inFirst);
+ writeable.addOption(inBoth);
+ writeable.addProperty("infirst", "infirst first value");
+ writeable.addProperty("inboth", "inboth first value");
+ writeable.addSwitch(inFirst, true);
+ writeable.addSwitch(inBoth, true);
+ writeable.addValue(inFirst, "infirst first value 1");
+ writeable.addValue(inFirst, "infirst first value 2");
+ writeable.addValue(inBoth, "inboth first value 1");
+ writeable.addValue(inBoth, "inboth first value 2");
+ first = writeable;
+
+ writeable = new WriteableCommandLineImpl(root, new ArrayList());
+ writeable.addOption(inSecond);
+ writeable.addOption(inBoth);
+ writeable.addProperty("insecond", "insecond second value");
+ writeable.addProperty("inboth", "inboth second value");
+ writeable.addSwitch(inSecond, true);
+ writeable.addSwitch(inBoth, true);
+ writeable.addValue(inSecond, "insecond second value 1");
+ writeable.addValue(inSecond, "insecond second value 2");
+ writeable.addValue(inBoth, "inboth second value 1");
+ writeable.addValue(inBoth, "inboth second value 2");
+ second = writeable;
+ }
+
+ public final void testAppendCommandLine() {
+ final DefaultingCommandLine defaults = new DefaultingCommandLine();
+ Iterator i;
+
+ i = defaults.commandLines();
+ assertFalse(i.hasNext());
+
+ defaults.appendCommandLine(first);
+ i = defaults.commandLines();
+ assertSame(first, i.next());
+ assertFalse(i.hasNext());
+
+ defaults.appendCommandLine(second);
+ i = defaults.commandLines();
+ assertSame(first, i.next());
+ assertSame(second, i.next());
+ assertFalse(i.hasNext());
+ }
+
+ public final void testInsertCommandLine() {
+ final DefaultingCommandLine defaults = new DefaultingCommandLine();
+ Iterator i;
+
+ i = defaults.commandLines();
+ assertFalse(i.hasNext());
+
+ defaults.insertCommandLine(0, first);
+ i = defaults.commandLines();
+ assertSame(first, i.next());
+ assertFalse(i.hasNext());
+
+ defaults.insertCommandLine(0, second);
+ i = defaults.commandLines();
+ assertSame(second, i.next());
+ assertSame(first, i.next());
+ assertFalse(i.hasNext());
+ }
+
+ public void testTriggers() {
+ final DefaultingCommandLine defaults = new DefaultingCommandLine();
+ defaults.appendCommandLine(first);
+ defaults.appendCommandLine(second);
+
+ Set set = defaults.getOptionTriggers();
+ Iterator iter = set.iterator();
+ assertEquals("wrong # of triggers", 3, set.size());
+ assertTrue("cannot find trigger", set.contains("--insecond"));
+ assertTrue("cannot find trigger", set.contains("--inboth"));
+ assertTrue("cannot find trigger", set.contains("--infirst"));
+ }
+
+ public void testDefaults() {
+ final DefaultingCommandLine defaults = new DefaultingCommandLine();
+
+ assertEquals("wrong # of defaults", 0, defaults.getValues("--insecond").size());
+ assertEquals("wrong Set of defaults", Collections.EMPTY_LIST, defaults.getValues("--insecond", null));
+ }
+}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/ParserTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/ParserTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/ParserTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/ParserTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,140 @@
-/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.commandline;import java.io.BufferedReader;import java.io.IOException;import java.io.PrintWriter;import java.io.StringReader;import java.io.StringWriter;import org.apache.c
ommons.cli2.CommandLine;import org.apache.commons.cli2.Group;import org.apache.commons.cli2.OptionException;import org.apache.commons.cli2.builder.DefaultOptionBuilder;import org.apache.commons.cli2.builder.GroupBuilder;import org.apache.commons.cli2.option.DefaultOption;import org.apache.commons.cli2.util.HelpFormatter;import junit.framework.TestCase;public class ParserTest extends TestCase { private Parser parser; private DefaultOption verboseOption; private DefaultOption helpOption; private Group options; private HelpFormatter helpFormatter; private StringWriter out; private BufferedReader in; public void setUp() { parser = new Parser(); final GroupBuilder gBuilder = new GroupBuilder(); final DefaultOptionBuilder oBuilder = new DefaultOptionBuilder(); helpOption = oBuilder.withLongName("help").withShortName("h").create(); verboseOption = oBuilder.withLongName("verbose").withShortName("v").create(); options
= gBuilder.withOption(helpOption).withOption(verboseOption).create(); parser.setGroup(options); helpFormatter = new HelpFormatter(); out = new StringWriter(); helpFormatter.setPrintWriter(new PrintWriter(out)); parser.setHelpFormatter(helpFormatter); } public void testParse_Successful() throws OptionException { final CommandLine cl = parser.parse(new String[]{"-hv"}); assertTrue(cl.hasOption(helpOption)); assertTrue(cl.hasOption(verboseOption)); assertEquals("--help --verbose",cl.toString()); final WriteableCommandLineImpl wcli = (WriteableCommandLineImpl)cl; assertEquals("[--help, --verbose]",wcli.getNormalised().toString()); } public void testParse_WithUnexpectedOption() { try { parser.parse(new String[]{"--unexpected"}); fail("OptionException"); } catch(OptionException e) { assertEquals(options,e.getOption()); assertEqua
ls("Unexpected --unexpected while processing --help|--verbose",e.getMessage()); } } public void testParseAndHelp_Successful() throws IOException { final CommandLine cl = parser.parseAndHelp(new String[]{"-v"}); assertTrue(cl.hasOption(verboseOption)); assertEquals("",out.getBuffer().toString()); } public void testParseAndHelp_ByHelpOption() throws IOException { parser.setHelpOption(helpOption); assertNull(parser.parseAndHelp(new String[]{"-hv"})); inReader(); assertInReaderUsage(); assertInReaderEOF(); } public void testParseAndHelp_ByHelpTrigger() throws IOException { parser.setHelpTrigger("--help"); assertNull(parser.parseAndHelp(new String[]{"-hv"})); inReader(); assertInReaderUsage(); assertInReaderEOF(); } public void testParseAndHelp_WithUnexpectedOption() throws IOException { assertNull(parser.parseAndHelp(new String[]{"--unexpected"}));
inReader(); assertInReaderLine("Unexpected --unexpected while processing --help|--verbose"); assertInReaderUsage(); assertInReaderEOF(); } private void assertInReaderUsage() throws IOException { assertInReaderLine("Usage:"); assertInReaderLine("[--help --verbose]"); assertInReaderLine("--help|--verbose"); assertInReaderLine("--help (-h)"); assertInReaderLine("--verbose (-v)"); } private void assertInReaderLine(final String string) throws IOException { assertEquals(string,in.readLine().trim()); } private void assertInReaderEOF() throws IOException { assertNull(in.readLine()); } private void inReader() { in = new BufferedReader(new StringReader(out.getBuffer().toString())); }}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.commandline;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.Group;
+import org.apache.commons.cli2.OptionException;
+import org.apache.commons.cli2.builder.DefaultOptionBuilder;
+import org.apache.commons.cli2.builder.GroupBuilder;
+import org.apache.commons.cli2.option.DefaultOption;
+import org.apache.commons.cli2.util.HelpFormatter;
+
+import junit.framework.TestCase;
+
+public class ParserTest extends TestCase {
+
+ private Parser parser;
+ private DefaultOption verboseOption;
+ private DefaultOption helpOption;
+ private Group options;
+ private HelpFormatter helpFormatter;
+ private StringWriter out;
+ private BufferedReader in;
+
+ public void setUp() {
+ parser = new Parser();
+
+ final GroupBuilder gBuilder = new GroupBuilder();
+ final DefaultOptionBuilder oBuilder = new DefaultOptionBuilder();
+
+ helpOption = oBuilder.withLongName("help").withShortName("h").create();
+ verboseOption = oBuilder.withLongName("verbose").withShortName("v").create();
+ options = gBuilder.withOption(helpOption).withOption(verboseOption).create();
+ parser.setGroup(options);
+
+ helpFormatter = new HelpFormatter();
+ out = new StringWriter();
+ helpFormatter.setPrintWriter(new PrintWriter(out));
+ parser.setHelpFormatter(helpFormatter);
+ }
+
+ public void testParse_Successful() throws OptionException {
+ final CommandLine cl = parser.parse(new String[]{"-hv"});
+
+ assertTrue(cl.hasOption(helpOption));
+ assertTrue(cl.hasOption(verboseOption));
+
+ assertEquals("--help --verbose",cl.toString());
+
+ final WriteableCommandLineImpl wcli = (WriteableCommandLineImpl)cl;
+ assertEquals("[--help, --verbose]",wcli.getNormalised().toString());
+ }
+
+ public void testParse_WithUnexpectedOption() {
+ try {
+ parser.parse(new String[]{"--unexpected"});
+ fail("OptionException");
+ }
+ catch(OptionException e) {
+ assertEquals(options,e.getOption());
+ assertEquals("Unexpected --unexpected while processing --help|--verbose",e.getMessage());
+ }
+ }
+
+ public void testParseAndHelp_Successful() throws IOException {
+ final CommandLine cl = parser.parseAndHelp(new String[]{"-v"});
+
+ assertTrue(cl.hasOption(verboseOption));
+ assertEquals("",out.getBuffer().toString());
+ }
+
+ public void testParseAndHelp_ByHelpOption() throws IOException {
+ parser.setHelpOption(helpOption);
+
+ assertNull(parser.parseAndHelp(new String[]{"-hv"}));
+
+ inReader();
+ assertInReaderUsage();
+ assertInReaderEOF();
+ }
+
+ public void testParseAndHelp_ByHelpTrigger() throws IOException {
+ parser.setHelpTrigger("--help");
+
+ assertNull(parser.parseAndHelp(new String[]{"-hv"}));
+
+ inReader();
+ assertInReaderUsage();
+ assertInReaderEOF();
+ }
+
+ public void testParseAndHelp_WithUnexpectedOption() throws IOException {
+ assertNull(parser.parseAndHelp(new String[]{"--unexpected"}));
+
+ inReader();
+ assertInReaderLine("Unexpected --unexpected while processing --help|--verbose");
+ assertInReaderUsage();
+ assertInReaderEOF();
+ }
+
+ private void assertInReaderUsage() throws IOException {
+ assertInReaderLine("Usage:");
+ assertInReaderLine("[--help --verbose]");
+ assertInReaderLine("--help|--verbose");
+ assertInReaderLine("--help (-h)");
+ assertInReaderLine("--verbose (-v)");
+ }
+
+ private void assertInReaderLine(final String string) throws IOException {
+ assertEquals(string,in.readLine().trim());
+ }
+
+ private void assertInReaderEOF() throws IOException {
+ assertNull(in.readLine());
+ }
+
+ private void inReader() {
+ in = new BufferedReader(new StringReader(out.getBuffer().toString()));
+ }
+}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PreferencesCommandLineTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PreferencesCommandLineTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PreferencesCommandLineTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PreferencesCommandLineTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,106 @@
-/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.commandline;import java.util.Iterator;import java.util.Set;import java.util.prefs.Preferences;import org.apache.commons.cli2.CommandLine;import org.apache.commons.cli2.Com
mandLineTestCase;/** * @author Rob Oxspring */public class PreferencesCommandLineTest extends CommandLineTestCase { /* (non-Javadoc) * @see org.apache.commons.cli2.CommandLineTest#createCommandLine() */ protected CommandLine createCommandLine() { // TODO Auto-generated method stub final Preferences props = Preferences.userNodeForPackage(PreferencesCommandLineTest.class); props.put("--present","present value"); props.put("--alsopresent",""); props.put("--multiple","value 1|value 2|value 3"); props.put("--bool","true"); props.put("present","present property"); return new PreferencesCommandLine(root,props,'|'); } protected CommandLine createCommandLineNoSep() { // TODO Auto-generated method stub final Preferences props = Preferences.userNodeForPackage(PreferencesCommandLineTest.class); props.put("--present","present value"); props.put("--alsopresent",""); props.put("--multiple","value 1|value 2|value 3"); props.put("--bool","false"); props.put("present","presen
t property"); return new PreferencesCommandLine(root,props); } public void testPropertyValues() { // nothing to test CommandLine cmdline = createCommandLine(); assertEquals("wrong value", "present value", cmdline.getValue("--present")); assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent")); assertEquals("wrong # of values", 3, cmdline.getValues("--multiple").size()); assertEquals("wrong value 1", "value 1", cmdline.getValues("--multiple").get(0)); assertEquals("wrong value 2", "value 2", cmdline.getValues("--multiple").get(1)); assertEquals("wrong value 3", "value 3", cmdline.getValues("--multiple").get(2)); } public void testNoSeparator() { // nothing to test CommandLine cmdline = createCommandLineNoSep(); assertEquals("wrong value", "present value", cmdline.getValue("--present")); assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent")); assertEquals("wrong
# of values", 1, cmdline.getValues("--multiple").size()); assertEquals("wrong value", "value 1|value 2|value 3", cmdline.getValue("--multiple")); assertFalse("expected a false", cmdline.getSwitch("--bool").booleanValue()); } public void testNullOption() { // nothing to test CommandLine cmdline = createCommandLine(); assertFalse("should not find null option", cmdline.hasOption((String) null)); assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue()); } public void testPreferenceTriggers() { // nothing to test CommandLine cmdline = createCommandLine(); Set triggers = cmdline.getOptionTriggers(); Iterator iter = triggers.iterator(); assertEquals("wrong # of triggers", 4, triggers.size()); assertTrue("cannot find trigger", triggers.contains("--bool")); assertTrue("cannot find trigger", triggers.contains("--present")); assertTrue("cannot find trigger", triggers.contains("--mu
ltiple")); assertTrue("cannot find trigger", triggers.contains("--alsopresent")); assertFalse("should not find null option", cmdline.hasOption((String) null)); assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue()); }}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.commandline;
+
+import java.util.Iterator;
+import java.util.Set;
+import java.util.prefs.Preferences;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.CommandLineTestCase;
+
+/**
+ * @author Rob Oxspring
+ */
+public class PreferencesCommandLineTest extends CommandLineTestCase {
+
+ /* (non-Javadoc)
+ * @see org.apache.commons.cli2.CommandLineTest#createCommandLine()
+ */
+ protected CommandLine createCommandLine() {
+ // TODO Auto-generated method stub
+ final Preferences props = Preferences.userNodeForPackage(PreferencesCommandLineTest.class);
+ props.put("--present","present value");
+ props.put("--alsopresent","");
+ props.put("--multiple","value 1|value 2|value 3");
+ props.put("--bool","true");
+
+ props.put("present","present property");
+
+ return new PreferencesCommandLine(root,props,'|');
+ }
+
+ protected CommandLine createCommandLineNoSep() {
+ // TODO Auto-generated method stub
+ final Preferences props = Preferences.userNodeForPackage(PreferencesCommandLineTest.class);
+ props.put("--present","present value");
+ props.put("--alsopresent","");
+ props.put("--multiple","value 1|value 2|value 3");
+ props.put("--bool","false");
+
+ props.put("present","present property");
+
+ return new PreferencesCommandLine(root,props);
+ }
+
+ public void testPropertyValues() {
+ // nothing to test
+ CommandLine cmdline = createCommandLine();
+
+ assertEquals("wrong value", "present value", cmdline.getValue("--present"));
+ assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent"));
+ assertEquals("wrong # of values", 3, cmdline.getValues("--multiple").size());
+ assertEquals("wrong value 1", "value 1", cmdline.getValues("--multiple").get(0));
+ assertEquals("wrong value 2", "value 2", cmdline.getValues("--multiple").get(1));
+ assertEquals("wrong value 3", "value 3", cmdline.getValues("--multiple").get(2));
+ }
+
+ public void testNoSeparator() {
+ // nothing to test
+ CommandLine cmdline = createCommandLineNoSep();
+
+ assertEquals("wrong value", "present value", cmdline.getValue("--present"));
+ assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent"));
+ assertEquals("wrong # of values", 1, cmdline.getValues("--multiple").size());
+ assertEquals("wrong value", "value 1|value 2|value 3", cmdline.getValue("--multiple"));
+ assertFalse("expected a false", cmdline.getSwitch("--bool").booleanValue());
+ }
+
+ public void testNullOption() {
+ // nothing to test
+ CommandLine cmdline = createCommandLine();
+
+ assertFalse("should not find null option", cmdline.hasOption((String) null));
+ assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue());
+ }
+
+ public void testPreferenceTriggers() {
+ // nothing to test
+ CommandLine cmdline = createCommandLine();
+
+ Set triggers = cmdline.getOptionTriggers();
+ Iterator iter = triggers.iterator();
+ assertEquals("wrong # of triggers", 4, triggers.size());
+ assertTrue("cannot find trigger", triggers.contains("--bool"));
+ assertTrue("cannot find trigger", triggers.contains("--present"));
+ assertTrue("cannot find trigger", triggers.contains("--multiple"));
+ assertTrue("cannot find trigger", triggers.contains("--alsopresent"));
+
+ assertFalse("should not find null option", cmdline.hasOption((String) null));
+ assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue());
+ }
+}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PropertiesCommandLineTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PropertiesCommandLineTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PropertiesCommandLineTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/PropertiesCommandLineTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,101 @@
-/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.commandline;import java.util.Iterator;import java.util.Properties;import java.util.Set;import org.apache.commons.cli2.CommandLine;import org.apache.commons.cli2.CommandLin
eTestCase;/** * @author Rob Oxspring */public class PropertiesCommandLineTest extends CommandLineTestCase { private Properties props = null; protected CommandLine createCommandLine() { props = new Properties(); props.setProperty("--present", "present value"); props.setProperty("--alsopresent", ""); props.setProperty("--multiple", "value 1|value 2|value 3"); props.setProperty("--bool", "true"); props.setProperty("present", "present property"); return new PropertiesCommandLine(root, props, '|'); } protected CommandLine createCommandLineNoSep() { props = new Properties(); props.setProperty("--present", "present value"); props.setProperty("--alsopresent", ""); props.setProperty("--multiple", "value 1|value 2|value 3"); props.setProperty("--bool", "false"); props.setProperty("present", "present property"); return new PropertiesCommandLine(root, props); } public void te
stPropertyValues() { // nothing to test CommandLine cmdline = createCommandLine(); assertEquals("wrong value", "present value", cmdline.getValue("--present")); assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent")); assertEquals("wrong # of values", 3, cmdline.getValues("--multiple").size()); assertEquals("wrong value 1", "value 1", cmdline.getValues("--multiple").get(0)); assertEquals("wrong value 2", "value 2", cmdline.getValues("--multiple").get(1)); assertEquals("wrong value 3", "value 3", cmdline.getValues("--multiple").get(2)); } public void testNoSeparator() { // nothing to test CommandLine cmdline = createCommandLineNoSep(); assertEquals("wrong value", "present value", cmdline.getValue("--present")); assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent")); assertEquals("wrong # of values", 1, cmdline.getValues("--multiple").size()); assertEquals("wrong
value", "value 1|value 2|value 3", cmdline.getValue("--multiple")); assertFalse("expected a false", cmdline.getSwitch("--bool").booleanValue()); } public void testNullOption() { // nothing to test CommandLine cmdline = createCommandLine(); assertFalse("should not find null option", cmdline.hasOption((String) null)); assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue()); } public void testPropertyTriggers() { // nothing to test CommandLine cmdline = createCommandLine(); Set triggers = cmdline.getOptionTriggers(); Iterator iter = triggers.iterator(); assertEquals("wrong # of triggers", 4, triggers.size()); assertTrue("cannot find trigger", triggers.contains("--bool")); assertTrue("cannot find trigger", triggers.contains("--present")); assertTrue("cannot find trigger", triggers.contains("--multiple")); assertTrue("cannot find trigger", triggers.contains("--alsopresen
t")); assertFalse("should not find null option", cmdline.hasOption((String) null)); assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue()); }}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.commandline;
+
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.CommandLineTestCase;
+
+/**
+ * @author Rob Oxspring
+ */
+public class PropertiesCommandLineTest
+ extends CommandLineTestCase {
+ private Properties props = null;
+
+ protected CommandLine createCommandLine() {
+ props = new Properties();
+ props.setProperty("--present", "present value");
+ props.setProperty("--alsopresent", "");
+ props.setProperty("--multiple", "value 1|value 2|value 3");
+ props.setProperty("--bool", "true");
+
+ props.setProperty("present", "present property");
+ return new PropertiesCommandLine(root, props, '|');
+ }
+
+ protected CommandLine createCommandLineNoSep() {
+ props = new Properties();
+ props.setProperty("--present", "present value");
+ props.setProperty("--alsopresent", "");
+ props.setProperty("--multiple", "value 1|value 2|value 3");
+ props.setProperty("--bool", "false");
+
+ props.setProperty("present", "present property");
+ return new PropertiesCommandLine(root, props);
+ }
+
+ public void testPropertyValues() {
+ // nothing to test
+ CommandLine cmdline = createCommandLine();
+
+ assertEquals("wrong value", "present value", cmdline.getValue("--present"));
+ assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent"));
+ assertEquals("wrong # of values", 3, cmdline.getValues("--multiple").size());
+ assertEquals("wrong value 1", "value 1", cmdline.getValues("--multiple").get(0));
+ assertEquals("wrong value 2", "value 2", cmdline.getValues("--multiple").get(1));
+ assertEquals("wrong value 3", "value 3", cmdline.getValues("--multiple").get(2));
+ }
+
+ public void testNoSeparator() {
+ // nothing to test
+ CommandLine cmdline = createCommandLineNoSep();
+
+ assertEquals("wrong value", "present value", cmdline.getValue("--present"));
+ assertEquals("wrong value", "present value", cmdline.getValue("--alsopresent"));
+ assertEquals("wrong # of values", 1, cmdline.getValues("--multiple").size());
+ assertEquals("wrong value", "value 1|value 2|value 3", cmdline.getValue("--multiple"));
+ assertFalse("expected a false", cmdline.getSwitch("--bool").booleanValue());
+ }
+
+ public void testNullOption() {
+ // nothing to test
+ CommandLine cmdline = createCommandLine();
+
+ assertFalse("should not find null option", cmdline.hasOption((String) null));
+ assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue());
+ }
+
+ public void testPropertyTriggers() {
+ // nothing to test
+ CommandLine cmdline = createCommandLine();
+
+ Set triggers = cmdline.getOptionTriggers();
+ Iterator iter = triggers.iterator();
+ assertEquals("wrong # of triggers", 4, triggers.size());
+ assertTrue("cannot find trigger", triggers.contains("--bool"));
+ assertTrue("cannot find trigger", triggers.contains("--present"));
+ assertTrue("cannot find trigger", triggers.contains("--multiple"));
+ assertTrue("cannot find trigger", triggers.contains("--alsopresent"));
+
+ assertFalse("should not find null option", cmdline.hasOption((String) null));
+ assertTrue("expected a true", cmdline.getSwitch("--bool").booleanValue());
+ }
+}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/WriteableCommandLineImplTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/WriteableCommandLineImplTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/WriteableCommandLineImplTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/commandline/WriteableCommandLineImplTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,36 @@
-/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.commandline;import java.util.ArrayList;import org.apache.commons.cli2.WriteableCommandLine;import org.apache.commons.cli2.WriteableCommandLineTestCase;public class Writeab
leCommandLineImplTest extends WriteableCommandLineTestCase { /* (non-Javadoc) * @see org.apache.commons.cli2.WriteableCommandLineTest#createWriteableCommandLine() */ protected WriteableCommandLine createWriteableCommandLine() { return new WriteableCommandLineImpl(root, new ArrayList()); } public void testToMakeEclipseSpotTheTestCase() { // nothing to test }}
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.commandline;
+
+import java.util.ArrayList;
+
+import org.apache.commons.cli2.WriteableCommandLine;
+import org.apache.commons.cli2.WriteableCommandLineTestCase;
+
+public class WriteableCommandLineImplTest
+ extends WriteableCommandLineTestCase {
+ /* (non-Javadoc)
+ * @see org.apache.commons.cli2.WriteableCommandLineTest#createWriteableCommandLine()
+ */
+ protected WriteableCommandLine createWriteableCommandLine() {
+ return new WriteableCommandLineImpl(root, new ArrayList());
+ }
+
+ public void testToMakeEclipseSpotTheTestCase() {
+ // nothing to test
+ }
+}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli2/jdepend/JDependTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli2/jdepend/JDependTest.java?rev=639943&r1=639942&r2=639943&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli2/jdepend/JDependTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli2/jdepend/JDependTest.java Fri Mar 21 20:08:23 2008
@@ -1 +1,109 @@
-/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.cli2.jdepend;import java.io.IOException;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import jdepend.framework.JDepend;import jdepend.framew
ork.JavaPackage;import junit.framework.TestCase;/** * @author Rob Oxspring */public class JDependTest extends TestCase { private JDepend dependancies = null; public void setUp() throws IOException { dependancies = new JDepend(); dependancies.addDirectory("target/classes"); dependancies.analyze(); } public void testJUnitNotPresent() { // if junit dependancy is found then jdepend has been poluted // with test classes and all tests are meaningless assertNull( "JUnit dependancy found", dependancies.getPackage("junit.framework")); // the same applies to jdepend assertNull( "JDepend dependancy found", dependancies.getPackage("jdepend.framework")); } public void testAcceptableDistance() { Collection packages = dependancies.getPackages(); // only interested in cli2 packages = cli2Packages(packages); // resources is well off the line
packages = namedPackages(packages, "org.apache.commons.cli2.resource", false); for (final Iterator i = packages.iterator(); i.hasNext();) { final JavaPackage pkg = (JavaPackage)i.next(); final float distance = pkg.distance(); final String message = pkg.getName() + " too far from line: " + distance; assertTrue( message, distance < 0.21d); } } public void testNoCyclesPresent() { assertEquals("Cycles exist", false, dependancies.containsCycles()); } public void testApiIndependance() { dependancies.analyze(); final JavaPackage apiPackage = dependancies.getPackage("org.apache.commons.cli2"); final Collection dependsUpon = cli2Packages(apiPackage.getEfferents()); assertEquals("Api should depend on one package", 1, dependsUpon.size()); JavaPackage pkg = (JavaPackage) dependsUpon.iterator().next(); assertEquals(
"Wrong package name", "org.apache.commons.cli2.resource", pkg.getName()); } private Collection cli2Packages(final Collection incoming) { return namedPackages(incoming, "org.apache.commons.cli2", true); } private Collection namedPackages( final Collection incoming, final String name, final boolean include) { final Collection outgoing = new ArrayList(); for (final Iterator i = incoming.iterator(); i.hasNext();) { final JavaPackage pkg = (JavaPackage)i.next(); if (include ^ !pkg.getName().startsWith(name)) { outgoing.add(pkg); } } return outgoing; }}
\ No newline at end of file
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.cli2.jdepend;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import jdepend.framework.JDepend;
+import jdepend.framework.JavaPackage;
+import junit.framework.TestCase;
+
+/**
+ * @author Rob Oxspring
+ */
+public class JDependTest extends TestCase {
+
+ private JDepend dependancies = null;
+
+ public void setUp() throws IOException {
+ dependancies = new JDepend();
+ dependancies.addDirectory("target/classes");
+ dependancies.analyze();
+ }
+
+ public void testJUnitNotPresent() {
+ // if junit dependancy is found then jdepend has been poluted
+ // with test classes and all tests are meaningless
+ assertNull(
+ "JUnit dependancy found",
+ dependancies.getPackage("junit.framework"));
+
+ // the same applies to jdepend
+ assertNull(
+ "JDepend dependancy found",
+ dependancies.getPackage("jdepend.framework"));
+ }
+
+ public void testAcceptableDistance() {
+ Collection packages = dependancies.getPackages();
+ // only interested in cli2
+ packages = cli2Packages(packages);
+ // resources is well off the line
+ packages =
+ namedPackages(packages, "org.apache.commons.cli2.resource", false);
+
+ for (final Iterator i = packages.iterator(); i.hasNext();) {
+ final JavaPackage pkg = (JavaPackage)i.next();
+ final float distance = pkg.distance();
+ final String message = pkg.getName() + " too far from line: " + distance;
+ assertTrue(
+ message,
+ distance < 0.21d);
+ }
+ }
+
+ public void testNoCyclesPresent() {
+ assertEquals("Cycles exist", false, dependancies.containsCycles());
+ }
+
+ public void testApiIndependance() {
+ dependancies.analyze();
+
+ final JavaPackage apiPackage =
+ dependancies.getPackage("org.apache.commons.cli2");
+ final Collection dependsUpon = cli2Packages(apiPackage.getEfferents());
+
+ assertEquals("Api should depend on one package", 1, dependsUpon.size());
+
+ JavaPackage pkg = (JavaPackage) dependsUpon.iterator().next();
+ assertEquals(
+ "Wrong package name",
+ "org.apache.commons.cli2.resource",
+ pkg.getName());
+ }
+
+ private Collection cli2Packages(final Collection incoming) {
+ return namedPackages(incoming, "org.apache.commons.cli2", true);
+ }
+
+ private Collection namedPackages(
+ final Collection incoming,
+ final String name,
+ final boolean include) {
+ final Collection outgoing = new ArrayList();
+ for (final Iterator i = incoming.iterator(); i.hasNext();) {
+ final JavaPackage pkg = (JavaPackage)i.next();
+ if (include ^ !pkg.getName().startsWith(name)) {
+ outgoing.add(pkg);
+ }
+ }
+ return outgoing;
+ }
+}