You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2011/10/31 02:01:20 UTC

svn commit: r1195292 [4/4] - in /oodt/branches/cas-cl: ./ src/main/java/org/apache/oodt/cas/cl/ src/main/java/org/apache/oodt/cas/cl/action/ src/main/java/org/apache/oodt/cas/cl/action/store/ src/main/java/org/apache/oodt/cas/cl/action/store/spring/ sr...

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestArgRegExpCmdLineOptionValidator.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestArgRegExpCmdLineOptionValidator.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestArgRegExpCmdLineOptionValidator.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestArgRegExpCmdLineOptionValidator.java Mon Oct 31 01:01:18 2011
@@ -31,41 +31,44 @@ import com.google.common.collect.Lists;
 
 /**
  * Test class for {@link ArgRegExpCmdLineOptionValidator}.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestArgRegExpCmdLineOptionValidator extends TestCase {
 
-	public void testInitialCase() {
-		// Test null option instancd not allowed.
-		try {
-			new ArgRegExpCmdLineOptionValidator().validate(null);
-			fail("Should have thrown IllegalArgumentException");
-		} catch (IllegalArgumentException ignore) { /* expect throw */ }
-
-		// Test no allowed args set and valid option instance
-		CmdLineOptionInstance instance = createOptionInstance(
-				createSimpleOption("test", false), "value");
-		assertFalse(new AllowedArgsCmdLineOptionValidator().validate(instance));
-	}
-
-	public void testValidate() {
-		ArgRegExpCmdLineOptionValidator validator = new ArgRegExpCmdLineOptionValidator();
-		validator.setAllowedArgs(Lists.newArrayList("v.*?1", "v.*?2"));
-
-		// Test no null option instance allowed.
-		try {
-			validator.validate(null);
-			fail("Should have thrown IllegalArgumentException");
-		} catch (IllegalArgumentException ignore) { /* expect throw */ }
-
-		// Test should fail case.
-		CmdLineOptionInstance instance = createOptionInstance(
-				createSimpleOption("test", false), "value");
-		assertFalse(validator.validate(instance));
-
-		// Test should pass case.
-		instance = createOptionInstance(createSimpleOption("test", false), "value1");
-		assertTrue(validator.validate(instance));
-	}
+   public void testInitialCase() {
+      // Test null option instancd not allowed.
+      try {
+         new ArgRegExpCmdLineOptionValidator().validate(null);
+         fail("Should have thrown IllegalArgumentException");
+      } catch (IllegalArgumentException ignore) { /* expect throw */
+      }
+
+      // Test no allowed args set and valid option instance
+      CmdLineOptionInstance instance = createOptionInstance(
+            createSimpleOption("test", false), "value");
+      assertFalse(new AllowedArgsCmdLineOptionValidator().validate(instance));
+   }
+
+   public void testValidate() {
+      ArgRegExpCmdLineOptionValidator validator = new ArgRegExpCmdLineOptionValidator();
+      validator.setAllowedArgs(Lists.newArrayList("v.*?1", "v.*?2"));
+
+      // Test no null option instance allowed.
+      try {
+         validator.validate(null);
+         fail("Should have thrown IllegalArgumentException");
+      } catch (IllegalArgumentException ignore) { /* expect throw */
+      }
+
+      // Test should fail case.
+      CmdLineOptionInstance instance = createOptionInstance(
+            createSimpleOption("test", false), "value");
+      assertFalse(validator.validate(instance));
+
+      // Test should pass case.
+      instance = createOptionInstance(createSimpleOption("test", false),
+            "value1");
+      assertTrue(validator.validate(instance));
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestClassExistsCmdLineOptionValidator.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestClassExistsCmdLineOptionValidator.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestClassExistsCmdLineOptionValidator.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestClassExistsCmdLineOptionValidator.java Mon Oct 31 01:01:18 2011
@@ -28,25 +28,26 @@ import org.apache.oodt.cas.cl.option.Cmd
 
 /**
  * Test class for {@link ClassExistsCmdLineOptionValidator}.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestClassExistsCmdLineOptionValidator extends TestCase {
 
-	public void testValidate() {
-		// Check null option instance not allowed.
-		try {
-			new ClassExistsCmdLineOptionValidator().validate(null);
-		} catch (IllegalArgumentException ignore) { /* expect throw */ }
+   public void testValidate() {
+      // Check null option instance not allowed.
+      try {
+         new ClassExistsCmdLineOptionValidator().validate(null);
+      } catch (IllegalArgumentException ignore) { /* expect throw */
+      }
 
-		// Check fail case.
-		CmdLineOptionInstance instance = createOptionInstance(
-				createSimpleOption("test", false), "bogus");
-		assertFalse(new ClassExistsCmdLineOptionValidator().validate(instance));
+      // Check fail case.
+      CmdLineOptionInstance instance = createOptionInstance(
+            createSimpleOption("test", false), "bogus");
+      assertFalse(new ClassExistsCmdLineOptionValidator().validate(instance));
 
-		// Check pass case.
-		instance = createOptionInstance(
-				createSimpleOption("test", false), "java.lang.String");
-		assertTrue(new ClassExistsCmdLineOptionValidator().validate(instance));		
-	}
+      // Check pass case.
+      instance = createOptionInstance(createSimpleOption("test", false),
+            "java.lang.String");
+      assertTrue(new ClassExistsCmdLineOptionValidator().validate(instance));
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestFileExistCmdLineOptionValidator.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestFileExistCmdLineOptionValidator.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestFileExistCmdLineOptionValidator.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestFileExistCmdLineOptionValidator.java Mon Oct 31 01:01:18 2011
@@ -32,28 +32,29 @@ import org.apache.oodt.cas.cl.option.Cmd
 
 /**
  * Test class for {@link FileExistCmdLineOptionValidator}.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestFileExistCmdLineOptionValidator extends TestCase {
 
-	public void testValidate() throws IOException {
-		// Test null option instance not allowed.
-		try {
-			new FileExistCmdLineOptionValidator().validate(null);
-			fail("Should have thrown IllegalArgumentException");
-		} catch (IllegalArgumentException ignore) { /* expect throw */ }
+   public void testValidate() throws IOException {
+      // Test null option instance not allowed.
+      try {
+         new FileExistCmdLineOptionValidator().validate(null);
+         fail("Should have thrown IllegalArgumentException");
+      } catch (IllegalArgumentException ignore) { /* expect throw */
+      }
 
-		// Test fail case.
-		CmdLineOptionInstance instance = createOptionInstance(
-				createSimpleOption("test", false), "bogus");
-		assertFalse(new FileExistCmdLineOptionValidator().validate(instance));
+      // Test fail case.
+      CmdLineOptionInstance instance = createOptionInstance(
+            createSimpleOption("test", false), "bogus");
+      assertFalse(new FileExistCmdLineOptionValidator().validate(instance));
 
-		// Test pass case.
-		File tempFile = File.createTempFile("bogus", "bogus");
-		tempFile.deleteOnExit();
-		instance = createOptionInstance(
-				createSimpleOption("test", false), tempFile.getAbsolutePath());
-		assertTrue(new FileExistCmdLineOptionValidator().validate(instance));		
-	}
+      // Test pass case.
+      File tempFile = File.createTempFile("bogus", "bogus");
+      tempFile.deleteOnExit();
+      instance = createOptionInstance(createSimpleOption("test", false),
+            tempFile.getAbsolutePath());
+      assertTrue(new FileExistCmdLineOptionValidator().validate(instance));
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestNoRestrictionsCmdLineOptionValidator.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestNoRestrictionsCmdLineOptionValidator.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestNoRestrictionsCmdLineOptionValidator.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/option/validator/TestNoRestrictionsCmdLineOptionValidator.java Mon Oct 31 01:01:18 2011
@@ -28,18 +28,18 @@ import org.apache.oodt.cas.cl.option.Cmd
 
 /**
  * Test class for {@link NoRestrictionsCmdLineOptionValidator}.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestNoRestrictionsCmdLineOptionValidator extends TestCase {
 
-	public void testValidate() {
-		// Test pass for null option instance.
-		assertTrue(new NoRestrictionsCmdLineOptionValidator().validate(null));
+   public void testValidate() {
+      // Test pass for null option instance.
+      assertTrue(new NoRestrictionsCmdLineOptionValidator().validate(null));
 
-		// Test pass for not null option instance.
-		CmdLineOptionInstance instance = createOptionInstance(
-				createSimpleOption("test", false), "bogus");
-		assertTrue(new NoRestrictionsCmdLineOptionValidator().validate(instance));
-	}
+      // Test pass for not null option instance.
+      CmdLineOptionInstance instance = createOptionInstance(
+            createSimpleOption("test", false), "bogus");
+      assertTrue(new NoRestrictionsCmdLineOptionValidator().validate(instance));
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/parser/TestStdCmdLineOptionParser.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/parser/TestStdCmdLineOptionParser.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/parser/TestStdCmdLineOptionParser.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/parser/TestStdCmdLineOptionParser.java Mon Oct 31 01:01:18 2011
@@ -45,143 +45,143 @@ import junit.framework.TestCase;
 
 /**
  * Test class for {@link StdCmdLineOptionParser}.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestStdCmdLineOptionParser extends TestCase {
 
-	public void testParser() throws IOException {
-		Args args = new Args(
-				"--group --list one two three four --scalar one --none --group --list one --scalar one"
-						.split(" "));
-		Set<CmdLineOption> options = new HashSet<CmdLineOption>();
-		SimpleCmdLineOption listOption, scalarOption, noneOption;
-		options.add(listOption = createSimpleOption("list", true));
-		options.add(scalarOption = createSimpleOption("scalar", true));
-		options.add(noneOption = createSimpleOption("none", false));
-		options.add(noneOption = createGroupOption("group", new SubOption(
-				listOption, true), new SubOption(scalarOption, true), new SubOption(
-				noneOption, false)));
-		options.add(new HelpCmdLineOption());
-
-		// Parse args.
-		StdCmdLineOptionParser parser = new StdCmdLineOptionParser();
-		Set<CmdLineOptionInstance> specifiedOptions = parser.parse(args, options);
-
-		// Check that two option instances where returned.
-		assertEquals(2, specifiedOptions.size());
-
-		// Find first and second group.
-		Iterator<CmdLineOptionInstance> iter = specifiedOptions.iterator();
-		CmdLineOptionInstance firstGroup = iter.next();
-		CmdLineOptionInstance secondGroup = iter.next();
-		if (getOptionInstanceByName("none", firstGroup.getSubOptions()) == null) {
-			CmdLineOptionInstance tmpHold = firstGroup;
-			firstGroup = secondGroup;
-			secondGroup = tmpHold;
-		}
-
-		// verify first group's list was found and found its 4 args.
-		CmdLineOptionInstance firstGroupList = getOptionInstanceByName("list",
-				firstGroup.getSubOptions());
-		assertNotNull(firstGroupList);
-		assertEquals(Arrays.asList("one", "two", "three", "four"),
-				firstGroupList.getValues());
-
-		// verify first group's scalar was found and found its 1 args.
-		CmdLineOptionInstance firstGroupScalar = getOptionInstanceByName("scalar",
-				firstGroup.getSubOptions());
-		assertNotNull(firstGroupScalar);
-		assertEquals(Arrays.asList("one"), firstGroupScalar.getValues());
-
-		// verify first group's none was found and found no args.
-		CmdLineOptionInstance firstGroupNone = getOptionInstanceByName("none",
-				firstGroup.getSubOptions());
-		assertNotNull(firstGroupNone);
-		assertTrue(firstGroupNone.getValues().isEmpty());
-
-		// verify second group's list was found and found its 1 args.
-		CmdLineOptionInstance secondGroupList = getOptionInstanceByName("list",
-				secondGroup.getSubOptions());
-		assertNotNull(secondGroupList);
-		assertEquals(Arrays.asList("one"), secondGroupList.getValues());
-
-		// verify second group's scalar was found and found its 1 args.
-		CmdLineOptionInstance secondGroupScalar = getOptionInstanceByName("scalar",
-				secondGroup.getSubOptions());
-		assertNotNull(secondGroupScalar);
-		assertEquals(Arrays.asList("one"), secondGroupScalar.getValues());
-
-		// verify second group's none was not found
-		CmdLineOptionInstance secondGroupNone = getOptionInstanceByName("none",
-				secondGroup.getSubOptions());
-		assertNull(secondGroupNone);
-	}
-
-	public void testGetOptions() throws IOException {
-		Args args = new Args("--scalar one --none".split(" "));
-		SimpleCmdLineOption option = createSimpleOption(
-				StdCmdLineOptionParser.getOptionName(args.getAndIncrement()), true);
-		CmdLineOptionInstance specifiedOption = StdCmdLineOptionParser.getOption(
-				args, option);
-		assertEquals(specifiedOption.getOption(), option);
-		assertEquals(Arrays.asList("one"), specifiedOption.getValues());
-		assertTrue(specifiedOption.getSubOptions().isEmpty());
-	}
-
-	public void testUseDefaultValues() throws IOException {
-		Args args = new Args("--scalar --none".split(" "));
-		SimpleCmdLineOption option = createSimpleOption(
-				StdCmdLineOptionParser.getOptionName(args.getAndIncrement()), true);
-		option.setDefaultArgs(Lists.newArrayList("one"));
-		CmdLineOptionInstance specifiedOption = StdCmdLineOptionParser.getOption(
-				args, option);
-		assertEquals(specifiedOption.getOption(), option);
-		assertEquals(Arrays.asList("one"), specifiedOption.getValues());
-		assertTrue(specifiedOption.getSubOptions().isEmpty());
-	}
-
-	public void testGetValues() {
-		Args args = new Args(
-				"--list one two three four --scalar one --none".split(" "));
-		assertEquals("--list", args.getAndIncrement());
-		assertEquals(Arrays.asList("one", "two", "three", "four"),
-				StdCmdLineOptionParser.getValues(args));
-		assertEquals("--scalar", args.getAndIncrement());
-		assertEquals(Arrays.asList("one"), StdCmdLineOptionParser.getValues(args));
-		assertEquals("--none", args.getAndIncrement());
-		assertEquals(Collections.emptyList(),
-				StdCmdLineOptionParser.getValues(args));
-		assertNull(args.getCurrentArg());
-	}
-
-	public void testIsOption() {
-		assertTrue(StdCmdLineOptionParser.isOption("--arg"));
-		assertTrue(StdCmdLineOptionParser.isOption("-arg"));
-		assertFalse(StdCmdLineOptionParser.isOption("arg"));
-	}
-
-	public void testGetOptionName() {
-		assertEquals("arg", StdCmdLineOptionParser.getOptionName("--arg"));
-		assertEquals("arg", StdCmdLineOptionParser.getOptionName("-arg"));
-		assertNull(StdCmdLineOptionParser.getOptionName("arg"));
-	}
-
-	private static GroupCmdLineOption createGroupOption(String longName,
-			SubOption... subOptions) {
-		GroupCmdLineOption option = new GroupCmdLineOption();
-		option.setLongOption(longName);
-		option.setShortOption(longName);
-		option.setSubOptions(new HashSet<SubOption>(Arrays.asList(subOptions)));
-		return option;
-	}
-
-	private static SimpleCmdLineOption createSimpleOption(String longName,
-			boolean hasArgs) {
-		SimpleCmdLineOption option = new SimpleCmdLineOption();
-		option.setLongOption(longName);
-		option.setShortOption(longName);
-		option.setHasArgs(hasArgs);
-		return option;
-	}
+   public void testParser() throws IOException {
+      Args args = new Args(
+            "--group --list one two three four --scalar one --none --group --list one --scalar one"
+                  .split(" "));
+      Set<CmdLineOption> options = new HashSet<CmdLineOption>();
+      SimpleCmdLineOption listOption, scalarOption, noneOption;
+      options.add(listOption = createSimpleOption("list", true));
+      options.add(scalarOption = createSimpleOption("scalar", true));
+      options.add(noneOption = createSimpleOption("none", false));
+      options.add(noneOption = createGroupOption("group", new SubOption(
+            listOption, true), new SubOption(scalarOption, true),
+            new SubOption(noneOption, false)));
+      options.add(new HelpCmdLineOption());
+
+      // Parse args.
+      StdCmdLineOptionParser parser = new StdCmdLineOptionParser();
+      Set<CmdLineOptionInstance> specifiedOptions = parser.parse(args, options);
+
+      // Check that two option instances where returned.
+      assertEquals(2, specifiedOptions.size());
+
+      // Find first and second group.
+      Iterator<CmdLineOptionInstance> iter = specifiedOptions.iterator();
+      CmdLineOptionInstance firstGroup = iter.next();
+      CmdLineOptionInstance secondGroup = iter.next();
+      if (getOptionInstanceByName("none", firstGroup.getSubOptions()) == null) {
+         CmdLineOptionInstance tmpHold = firstGroup;
+         firstGroup = secondGroup;
+         secondGroup = tmpHold;
+      }
+
+      // verify first group's list was found and found its 4 args.
+      CmdLineOptionInstance firstGroupList = getOptionInstanceByName("list",
+            firstGroup.getSubOptions());
+      assertNotNull(firstGroupList);
+      assertEquals(Arrays.asList("one", "two", "three", "four"),
+            firstGroupList.getValues());
+
+      // verify first group's scalar was found and found its 1 args.
+      CmdLineOptionInstance firstGroupScalar = getOptionInstanceByName(
+            "scalar", firstGroup.getSubOptions());
+      assertNotNull(firstGroupScalar);
+      assertEquals(Arrays.asList("one"), firstGroupScalar.getValues());
+
+      // verify first group's none was found and found no args.
+      CmdLineOptionInstance firstGroupNone = getOptionInstanceByName("none",
+            firstGroup.getSubOptions());
+      assertNotNull(firstGroupNone);
+      assertTrue(firstGroupNone.getValues().isEmpty());
+
+      // verify second group's list was found and found its 1 args.
+      CmdLineOptionInstance secondGroupList = getOptionInstanceByName("list",
+            secondGroup.getSubOptions());
+      assertNotNull(secondGroupList);
+      assertEquals(Arrays.asList("one"), secondGroupList.getValues());
+
+      // verify second group's scalar was found and found its 1 args.
+      CmdLineOptionInstance secondGroupScalar = getOptionInstanceByName(
+            "scalar", secondGroup.getSubOptions());
+      assertNotNull(secondGroupScalar);
+      assertEquals(Arrays.asList("one"), secondGroupScalar.getValues());
+
+      // verify second group's none was not found
+      CmdLineOptionInstance secondGroupNone = getOptionInstanceByName("none",
+            secondGroup.getSubOptions());
+      assertNull(secondGroupNone);
+   }
+
+   public void testGetOptions() throws IOException {
+      Args args = new Args("--scalar one --none".split(" "));
+      SimpleCmdLineOption option = createSimpleOption(
+            StdCmdLineOptionParser.getOptionName(args.getAndIncrement()), true);
+      CmdLineOptionInstance specifiedOption = StdCmdLineOptionParser.getOption(
+            args, option);
+      assertEquals(specifiedOption.getOption(), option);
+      assertEquals(Arrays.asList("one"), specifiedOption.getValues());
+      assertTrue(specifiedOption.getSubOptions().isEmpty());
+   }
+
+   public void testUseDefaultValues() throws IOException {
+      Args args = new Args("--scalar --none".split(" "));
+      SimpleCmdLineOption option = createSimpleOption(
+            StdCmdLineOptionParser.getOptionName(args.getAndIncrement()), true);
+      option.setDefaultArgs(Lists.newArrayList("one"));
+      CmdLineOptionInstance specifiedOption = StdCmdLineOptionParser.getOption(
+            args, option);
+      assertEquals(specifiedOption.getOption(), option);
+      assertEquals(Arrays.asList("one"), specifiedOption.getValues());
+      assertTrue(specifiedOption.getSubOptions().isEmpty());
+   }
+
+   public void testGetValues() {
+      Args args = new Args(
+            "--list one two three four --scalar one --none".split(" "));
+      assertEquals("--list", args.getAndIncrement());
+      assertEquals(Arrays.asList("one", "two", "three", "four"),
+            StdCmdLineOptionParser.getValues(args));
+      assertEquals("--scalar", args.getAndIncrement());
+      assertEquals(Arrays.asList("one"), StdCmdLineOptionParser.getValues(args));
+      assertEquals("--none", args.getAndIncrement());
+      assertEquals(Collections.emptyList(),
+            StdCmdLineOptionParser.getValues(args));
+      assertNull(args.getCurrentArg());
+   }
+
+   public void testIsOption() {
+      assertTrue(StdCmdLineOptionParser.isOption("--arg"));
+      assertTrue(StdCmdLineOptionParser.isOption("-arg"));
+      assertFalse(StdCmdLineOptionParser.isOption("arg"));
+   }
+
+   public void testGetOptionName() {
+      assertEquals("arg", StdCmdLineOptionParser.getOptionName("--arg"));
+      assertEquals("arg", StdCmdLineOptionParser.getOptionName("-arg"));
+      assertNull(StdCmdLineOptionParser.getOptionName("arg"));
+   }
+
+   private static GroupCmdLineOption createGroupOption(String longName,
+         SubOption... subOptions) {
+      GroupCmdLineOption option = new GroupCmdLineOption();
+      option.setLongOption(longName);
+      option.setShortOption(longName);
+      option.setSubOptions(new HashSet<SubOption>(Arrays.asList(subOptions)));
+      return option;
+   }
+
+   private static SimpleCmdLineOption createSimpleOption(String longName,
+         boolean hasArgs) {
+      SimpleCmdLineOption option = new SimpleCmdLineOption();
+      option.setLongOption(longName);
+      option.setShortOption(longName);
+      option.setHasArgs(hasArgs);
+      return option;
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestOutputStream.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestOutputStream.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestOutputStream.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestOutputStream.java Mon Oct 31 01:01:18 2011
@@ -21,21 +21,21 @@ import java.io.IOException;
 import java.io.OutputStream;
 
 /**
- * Test {@link OutputStream} which writes everything to a
- * {@link StringBuffer} which can be retrieved to see what was written.
- *
+ * Test {@link OutputStream} which writes everything to a {@link StringBuffer}
+ * which can be retrieved to see what was written.
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestOutputStream extends OutputStream {
 
-	private StringBuffer sb = new StringBuffer("");
+   private StringBuffer sb = new StringBuffer("");
 
-	@Override
-	public void write(int character) throws IOException {
-		sb.append((char) character);
-	}
+   @Override
+   public void write(int character) throws IOException {
+      sb.append((char) character);
+   }
 
-	public String getText() {
-		return sb.toString();
-	}
+   public String getText() {
+      return sb.toString();
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestSetContextInjectTypeAction.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestSetContextInjectTypeAction.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestSetContextInjectTypeAction.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestSetContextInjectTypeAction.java Mon Oct 31 01:01:18 2011
@@ -26,22 +26,23 @@ import org.springframework.context.Appli
 /**
  * Test {@link CmdLineAction} for testing {@link SpringSetContextInjectionType}
  * are injected with the {@link ApplicationContext} correctly.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
-public class TestSetContextInjectTypeAction extends CmdLineAction
-		implements SpringSetContextInjectionType {
+public class TestSetContextInjectTypeAction extends CmdLineAction implements
+      SpringSetContextInjectionType {
 
-	private ApplicationContext appContext;
-	
-	@Override
-	public void execute() {}
+   private ApplicationContext appContext;
 
-	public void setContext(ApplicationContext appContext) {
-		this.appContext = appContext;
-	}
+   @Override
+   public void execute() {
+   }
 
-	public ApplicationContext getContext() {
-		return appContext;
-	}
+   public void setContext(ApplicationContext appContext) {
+      this.appContext = appContext;
+   }
+
+   public ApplicationContext getContext() {
+      return appContext;
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestUtils.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestUtils.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestUtils.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/test/util/TestUtils.java Mon Oct 31 01:01:18 2011
@@ -40,114 +40,115 @@ import com.google.common.collect.Lists;
 
 /**
  * Base Test case for CAS-CL unit tests.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestUtils {
 
-	public static CmdLineAction createAction(String name) {
-		return new CmdLineAction(name, "This is an action description") {
+   public static CmdLineAction createAction(String name) {
+      return new CmdLineAction(name, "This is an action description") {
 
-			@Override
-			public void execute() {
-				// do nothing
-			}
-
-		};
-	}
-
-	public static GroupCmdLineOption createGroupOption(String longName,
-			boolean required) {
-		GroupCmdLineOption option = new GroupCmdLineOption();
-		option.setLongOption(longName);
-		option.setShortOption(longName);
-		option.setRequired(required);
-		return option;
-	}
-
-	public static SimpleCmdLineOption createSimpleOption(String longName,
-			boolean required) {
-		return createSimpleOption(longName, longName, required);
-	}
-
-	public static SimpleCmdLineOption createSimpleOption(String shortName,
-			String longName, boolean required) {
-		SimpleCmdLineOption option = new SimpleCmdLineOption();
-		option.setShortOption(shortName);
-		option.setLongOption(longName);
-		option.setRequired(required);
-		return option;
-	}
-
-	public static SimpleCmdLineOption createSimpleOption(String longName,
-			RequirementRule rule) {
-		return createSimpleOption(longName, longName, rule);
-	}
-
-	public static SimpleCmdLineOption createSimpleOption(String shortName,
-			String longName, RequirementRule rule) {
-		SimpleCmdLineOption option = new SimpleCmdLineOption();
-		option.setShortOption(shortName);
-		option.setLongOption(longName);
-		option.setRequirementRules(Collections.singletonList(rule));
-		return option;
-	}
-
-	public static AdvancedCmdLineOption createAdvancedOption(String longName,
-			CmdLineOptionHandler handler) {
-		return createAdvancedOption(longName, longName, handler);
-	}
-
-	public static AdvancedCmdLineOption createAdvancedOption(String shortName,
-			String longName, CmdLineOptionHandler handler) {
-		AdvancedCmdLineOption option = new AdvancedCmdLineOption();
-		option.setShortOption(shortName);
-		option.setLongOption(longName);
-		option.setHandler(handler);
-		return option;
-	}
-
-	public static AdvancedCmdLineOption createValidationOption(String longName, CmdLineOptionValidator... validators) {
-		AdvancedCmdLineOption option = new AdvancedCmdLineOption();
-		option.setLongOption(longName);
-		option.setShortOption(longName);
-		option.setValidators(Lists.newArrayList(validators));
-		return option;
-	}
-
-	public static ActionCmdLineOption createActionOption(String longName) {
-		ActionCmdLineOption option = new ActionCmdLineOption();
-		option.setLongOption(longName);
-		option.setShortOption(longName);
-		return option;
-	}
-
-	public static CmdLineOptionInstance createOptionInstance(
-			CmdLineOption option, String... values) {
-		return new CmdLineOptionInstance(option, Lists.newArrayList(values));
-	}
-
-	public static RequirementRule createRequiredRequirementRule(
-			CmdLineAction action) {
-		ActionDependencyRule rule = new ActionDependencyRule();
-		rule.setActionName(action.getName());
-		rule.setRelation(Relation.REQUIRED);
-		return rule;
-	}
-
-	public static RequirementRule createOptionalRequirementRule(
-			CmdLineAction action) {
-		ActionDependencyRule rule = new ActionDependencyRule();
-		rule.setActionName(action.getName());
-		rule.setRelation(Relation.OPTIONAL);
-		return rule;
-	}
-
-	public static ApplyToActionHandler createApplyToActionHandler(
-			String actionName, String methodName) {
-		ApplyToActionHandler handler = new ApplyToActionHandler();
-		handler.setApplyToActions(Lists.newArrayList(new ApplyToAction(actionName,
-				methodName)));
-		return handler;
-	}
+         @Override
+         public void execute() {
+            // do nothing
+         }
+
+      };
+   }
+
+   public static GroupCmdLineOption createGroupOption(String longName,
+         boolean required) {
+      GroupCmdLineOption option = new GroupCmdLineOption();
+      option.setLongOption(longName);
+      option.setShortOption(longName);
+      option.setRequired(required);
+      return option;
+   }
+
+   public static SimpleCmdLineOption createSimpleOption(String longName,
+         boolean required) {
+      return createSimpleOption(longName, longName, required);
+   }
+
+   public static SimpleCmdLineOption createSimpleOption(String shortName,
+         String longName, boolean required) {
+      SimpleCmdLineOption option = new SimpleCmdLineOption();
+      option.setShortOption(shortName);
+      option.setLongOption(longName);
+      option.setRequired(required);
+      return option;
+   }
+
+   public static SimpleCmdLineOption createSimpleOption(String longName,
+         RequirementRule rule) {
+      return createSimpleOption(longName, longName, rule);
+   }
+
+   public static SimpleCmdLineOption createSimpleOption(String shortName,
+         String longName, RequirementRule rule) {
+      SimpleCmdLineOption option = new SimpleCmdLineOption();
+      option.setShortOption(shortName);
+      option.setLongOption(longName);
+      option.setRequirementRules(Collections.singletonList(rule));
+      return option;
+   }
+
+   public static AdvancedCmdLineOption createAdvancedOption(String longName,
+         CmdLineOptionHandler handler) {
+      return createAdvancedOption(longName, longName, handler);
+   }
+
+   public static AdvancedCmdLineOption createAdvancedOption(String shortName,
+         String longName, CmdLineOptionHandler handler) {
+      AdvancedCmdLineOption option = new AdvancedCmdLineOption();
+      option.setShortOption(shortName);
+      option.setLongOption(longName);
+      option.setHandler(handler);
+      return option;
+   }
+
+   public static AdvancedCmdLineOption createValidationOption(String longName,
+         CmdLineOptionValidator... validators) {
+      AdvancedCmdLineOption option = new AdvancedCmdLineOption();
+      option.setLongOption(longName);
+      option.setShortOption(longName);
+      option.setValidators(Lists.newArrayList(validators));
+      return option;
+   }
+
+   public static ActionCmdLineOption createActionOption(String longName) {
+      ActionCmdLineOption option = new ActionCmdLineOption();
+      option.setLongOption(longName);
+      option.setShortOption(longName);
+      return option;
+   }
+
+   public static CmdLineOptionInstance createOptionInstance(
+         CmdLineOption option, String... values) {
+      return new CmdLineOptionInstance(option, Lists.newArrayList(values));
+   }
+
+   public static RequirementRule createRequiredRequirementRule(
+         CmdLineAction action) {
+      ActionDependencyRule rule = new ActionDependencyRule();
+      rule.setActionName(action.getName());
+      rule.setRelation(Relation.REQUIRED);
+      return rule;
+   }
+
+   public static RequirementRule createOptionalRequirementRule(
+         CmdLineAction action) {
+      ActionDependencyRule rule = new ActionDependencyRule();
+      rule.setActionName(action.getName());
+      rule.setRelation(Relation.OPTIONAL);
+      return rule;
+   }
+
+   public static ApplyToActionHandler createApplyToActionHandler(
+         String actionName, String methodName) {
+      ApplyToActionHandler handler = new ApplyToActionHandler();
+      handler.setApplyToActions(Lists.newArrayList(new ApplyToAction(
+            actionName, methodName)));
+      return handler;
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestArgs.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestArgs.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestArgs.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestArgs.java Mon Oct 31 01:01:18 2011
@@ -27,40 +27,42 @@ import junit.framework.TestCase;
 
 /**
  * Test class for {@link Args}.
- *
+ * 
  * @author bfoster (Brian Foster)
  */
 public class TestArgs extends TestCase {
 
-	private static final String ARGS_STRING = "--operation download --url http://somewhere.com --user foo --pass bar --toDir /tmp";
+   private static final String ARGS_STRING = "--operation download --url http://somewhere.com --user foo --pass bar --toDir /tmp";
 
-	public void testIteration() {
-		StringBuffer argsString = new StringBuffer("");
-		Args args = createArgs();
-		for (String arg : args) {
-			argsString.append(arg).append(" ");
-			int i = 0;
-			for (String argInner : args) {
-				argsString.append(argInner).append(" ");
-				if (i++ > 1) {
-					break;
-				}
-			}
-			argsString.append(args.getAndIncrement()).append(" ");
-		}
-
-		assertEquals(Arrays.asList(ARGS_STRING.split(" ")), Arrays.asList(argsString.toString().split(" ")));
-	}
-
-	public void testIndexOutOfBoundsException() {
-		Args args = new Args(new String[] {});
-		try {
-			args.iterator().next();
-			fail("Should have thrown IndexOutOfBoundsException");
-		} catch (IndexOutOfBoundsException ignore) { /* expect throw */ }
-	}
-
-	private Args createArgs() {
-		return new Args(ARGS_STRING.split(" "));
-	}
+   public void testIteration() {
+      StringBuffer argsString = new StringBuffer("");
+      Args args = createArgs();
+      for (String arg : args) {
+         argsString.append(arg).append(" ");
+         int i = 0;
+         for (String argInner : args) {
+            argsString.append(argInner).append(" ");
+            if (i++ > 1) {
+               break;
+            }
+         }
+         argsString.append(args.getAndIncrement()).append(" ");
+      }
+
+      assertEquals(Arrays.asList(ARGS_STRING.split(" ")),
+            Arrays.asList(argsString.toString().split(" ")));
+   }
+
+   public void testIndexOutOfBoundsException() {
+      Args args = new Args(new String[] {});
+      try {
+         args.iterator().next();
+         fail("Should have thrown IndexOutOfBoundsException");
+      } catch (IndexOutOfBoundsException ignore) { /* expect throw */
+      }
+   }
+
+   private Args createArgs() {
+      return new Args(ARGS_STRING.split(" "));
+   }
 }

Modified: oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestCmdLineUtils.java
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestCmdLineUtils.java?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestCmdLineUtils.java (original)
+++ oodt/branches/cas-cl/src/test/org/apache/oodt/cas/cl/util/TestCmdLineUtils.java Mon Oct 31 01:01:18 2011
@@ -61,395 +61,411 @@ import com.google.common.collect.Sets;
  */
 public class TestCmdLineUtils extends TestCase {
 
-	public void testDetermineRequired() {
-		CmdLineAction action = createAction("TestAction");
-		CmdLineOption urlOption, passOption;
-
-		HashSet<CmdLineOption> options = Sets.newHashSet(
-				urlOption = createSimpleOption("url",
-						createRequiredRequirementRule(action)),
-				passOption = createSimpleOption("pass", false),
-				createSimpleOption("user", false), createActionOption("operation"));
-
-		Set<CmdLineOption> requiredOptions = CmdLineUtils.determineRequired(action,
-				options);
-		assertEquals(Sets.newHashSet(urlOption), requiredOptions);
-
-		options = Sets.newHashSet(
-				urlOption = createSimpleOption("url",
-						createRequiredRequirementRule(action)),
-				passOption = createSimpleOption("pass", true),
-				createSimpleOption("user", false), createActionOption("operation"));
-
-		requiredOptions = CmdLineUtils.determineRequired(action, options);
-		assertEquals(Sets.newHashSet(urlOption, passOption), requiredOptions);
-	}
-
-	public void testIsRequired() {
-		CmdLineAction action = createAction("TestAction");
-		assertTrue(CmdLineUtils.isRequired(action,
-				createSimpleOption("url", createRequiredRequirementRule(action))));
-		assertFalse(CmdLineUtils
-				.isRequired(action, createSimpleOption("url", true)));
-		assertFalse(CmdLineUtils.isRequired(action,
-				createSimpleOption("url", false)));
-	}
-
-	public void testDetermineOptional() {
-		CmdLineAction action = createAction("TestAction");
-		CmdLineOption actionOption = new ActionCmdLineOption();
-
-		HashSet<CmdLineOption> options = Sets.newHashSet(
-				createSimpleOption("url", createRequiredRequirementRule(action)),
-				createSimpleOption("pass", false), createSimpleOption("user", false),
-				actionOption);
-
-		Set<CmdLineOption> optionalOptions = CmdLineUtils.determineOptional(action,
-				options);
-		assertTrue(optionalOptions.isEmpty());
-
-		options = Sets.newHashSet(createSimpleOption("pass", true),
-				createSimpleOption("user", true), actionOption);
-
-		optionalOptions = CmdLineUtils.determineOptional(action, options);
-		assertTrue(optionalOptions.isEmpty());
-
-		CmdLineOption passOption, userOption;
-		options = Sets.newHashSet(
-				passOption = createSimpleOption("pass",
-						createOptionalRequirementRule(action)),
-				userOption = createSimpleOption("user",
-						createOptionalRequirementRule(action)), actionOption);
-
-		optionalOptions = CmdLineUtils.determineOptional(action, options);
-		assertEquals(Sets.newHashSet(passOption, userOption), optionalOptions);
-	}
-
-	public void testIsOptional() {
-		CmdLineAction action = createAction("TestAction");
-		assertTrue(CmdLineUtils.isOptional(action,
-				createSimpleOption("url", createOptionalRequirementRule(action))));
-		assertFalse(CmdLineUtils
-				.isOptional(action, createSimpleOption("url", true)));
-		assertFalse(CmdLineUtils.isOptional(action,
-				createSimpleOption("url", false)));
-	}
-
-	public void testGetRequiredOptions() {
-		CmdLineOption urlOption = createSimpleOption("url", true);
-		HashSet<CmdLineOption> options = Sets.newHashSet(urlOption,
-				createActionOption("action"), createSimpleOption("user", false),
-				createSimpleOption("pass", false));
-
-		assertEquals(Sets.newHashSet(urlOption),
-				CmdLineUtils.getRequiredOptions(options));
-	}
-
-	public void testGetRequiredOptionsDoNotIgnoreActionOptions() {
-		CmdLineOption actionOption, urlOption;
-		HashSet<CmdLineOption> options = Sets.newHashSet(
-				actionOption = createActionOption("action"),
-				urlOption = createSimpleOption("url", true),
-				createSimpleOption("user", false), createSimpleOption("pass", false));
-
-		assertEquals(Sets.newHashSet(actionOption, urlOption),
-				CmdLineUtils.getRequiredOptions(options, false));
-	}
-
-	public void testSortOptionsByRequiredStatus() {
-		CmdLineAction action = createAction("action");
-		CmdLineOption userOption, urlOption, passOption, actionOption;
-		HashSet<CmdLineOption> options = Sets.newHashSet(
-				userOption = createSimpleOption("user", false),
-				urlOption = createSimpleOption("url",
-						createRequiredRequirementRule(action)),
-				passOption = createSimpleOption("pass", false),
-				actionOption = createActionOption("action"));
-
-		List<CmdLineOption> sortedOptions = CmdLineUtils
-				.sortOptionsByRequiredStatus(options);
-		assertEquals(options.size(), sortedOptions.size());
-		assertEquals(actionOption, sortedOptions.get(0));
-		assertEquals(urlOption, sortedOptions.get(1));
-		assertEquals(Sets.newHashSet(userOption, passOption),
-				Sets.newHashSet(sortedOptions.get(2), sortedOptions.get(3)));
-	}
-
-	public void testGetOptionByName() {
-		CmdLineAction action = createAction("action");
-		CmdLineOption userOption, urlOption, passOption, actionOption;
-		HashSet<CmdLineOption> options = Sets.newHashSet(
-				userOption = createSimpleOption("user", "username", false),
-				urlOption = createSimpleOption("u", "url",
-						createRequiredRequirementRule(action)),
-				passOption = createSimpleOption("pass", "password", false),
-				actionOption = createActionOption("action"));
-
-		assertEquals(userOption,
-				CmdLineUtils.getOptionByName(userOption.getShortOption(), options));
-		assertEquals(userOption,
-				CmdLineUtils.getOptionByName(userOption.getLongOption(), options));
-		assertEquals(urlOption,
-				CmdLineUtils.getOptionByName(urlOption.getShortOption(), options));
-		assertEquals(urlOption,
-				CmdLineUtils.getOptionByName(urlOption.getLongOption(), options));
-		assertEquals(passOption,
-				CmdLineUtils.getOptionByName(passOption.getShortOption(), options));
-		assertEquals(passOption,
-				CmdLineUtils.getOptionByName(passOption.getLongOption(), options));
-		assertEquals(actionOption,
-				CmdLineUtils.getOptionByName(actionOption.getShortOption(), options));
-		assertEquals(actionOption,
-				CmdLineUtils.getOptionByName(actionOption.getLongOption(), options));
-	}
-
-	public void testGetOptionInstanceByName() {
-		CmdLineAction action = createAction("action");
-		CmdLineOptionInstance userOptionInst, urlOptionInst, passOptionInst,
-				actionOptionInst;
-		HashSet<CmdLineOptionInstance> optionInsts = Sets.newHashSet(
-				userOptionInst = new CmdLineOptionInstance(createSimpleOption("user",
-						"username", false), new ArrayList<String>()),
-				urlOptionInst = new CmdLineOptionInstance(createSimpleOption("u",
-						"url", createRequiredRequirementRule(action)),
-						new ArrayList<String>()),
-				passOptionInst = new CmdLineOptionInstance(createSimpleOption("pass",
-						"password", false), new ArrayList<String>()),
-				actionOptionInst = new CmdLineOptionInstance(
-						createActionOption("action"), new ArrayList<String>()));
-
-		assertEquals(userOptionInst, CmdLineUtils.getOptionInstanceByName(
-				userOptionInst.getOption().getShortOption(), optionInsts));
-		assertEquals(userOptionInst, CmdLineUtils.getOptionInstanceByName(
-				userOptionInst.getOption().getLongOption(), optionInsts));
-		assertEquals(urlOptionInst, CmdLineUtils.getOptionInstanceByName(
-				urlOptionInst.getOption().getShortOption(), optionInsts));
-		assertEquals(urlOptionInst, CmdLineUtils.getOptionInstanceByName(
-				urlOptionInst.getOption().getLongOption(), optionInsts));
-		assertEquals(passOptionInst, CmdLineUtils.getOptionInstanceByName(
-				passOptionInst.getOption().getShortOption(), optionInsts));
-		assertEquals(passOptionInst, CmdLineUtils.getOptionInstanceByName(
-				passOptionInst.getOption().getLongOption(), optionInsts));
-		assertEquals(actionOptionInst, CmdLineUtils.getOptionInstanceByName(
-				actionOptionInst.getOption().getShortOption(), optionInsts));
-		assertEquals(actionOptionInst, CmdLineUtils.getOptionInstanceByName(
-				actionOptionInst.getOption().getLongOption(), optionInsts));
-	}
-
-	public void testIsSubOption() {
-		CmdLineOption subOption = createSimpleOption("test", false);
-		GroupCmdLineOption groupOption = createGroupOption("group", false);
-		assertFalse(CmdLineUtils.isSubOption(groupOption, subOption));
-
-		groupOption.addSubOption(new SubOption(subOption, false));
-		assertTrue(CmdLineUtils.isSubOption(groupOption, subOption));
-	}
-
-	public void testFindPerformAndQuitOptions() {
-		SimpleCmdLineOption performAndQuitOption = createSimpleOption("help", false);
-		performAndQuitOption.setPerformAndQuit(true);
-		SimpleCmdLineOption otherOption = createSimpleOption("help", false);
-		otherOption.setPerformAndQuit(false);
-
-		CmdLineOptionInstance performAndQuitOptionInstance = new CmdLineOptionInstance(
-				performAndQuitOption, new ArrayList<String>());
-		CmdLineOptionInstance otherInstance = new CmdLineOptionInstance(
-				otherOption, new ArrayList<String>());
-
-		assertEquals(Sets.newHashSet(performAndQuitOptionInstance),
-				CmdLineUtils.findPerformAndQuitOptions(Sets.newHashSet(
-						performAndQuitOptionInstance, otherInstance)));
-	}
-
-	public void testIsPerformAndQuitOption() {
-		SimpleCmdLineOption performAndQuitOption = createSimpleOption("help", false);
-		performAndQuitOption.setPerformAndQuit(true);
-		SimpleCmdLineOption otherOption = createSimpleOption("help", false);
-		otherOption.setPerformAndQuit(false);
-
-		assertTrue(CmdLineUtils.isPerformAndQuitOption(performAndQuitOption));
-		assertFalse(CmdLineUtils.isPerformAndQuitOption(otherOption));
-	}
-
-	public void testFindSpecifiedOption() {
-		CmdLineOption findOption = createSimpleOption("test", false);
-		Set<CmdLineOptionInstance> options = Sets.newHashSet(
-				createOptionInstance(createSimpleOption("test1", false)),
-				createOptionInstance(createSimpleOption("test2", false)));
-
-		assertNull(CmdLineUtils.findSpecifiedOption(findOption, options));
-		options.add(createOptionInstance(findOption));
-		assertEquals(createOptionInstance(findOption),
-				CmdLineUtils.findSpecifiedOption(findOption, options));
-	}
-
-	public void testFindAllOfSpecifiedOption() {
-		CmdLineOption findOption = createSimpleOption("test", false);
-		Set<CmdLineOptionInstance> options = Sets.newHashSet(
-				createOptionInstance(createSimpleOption("test1", false)),
-				createOptionInstance(createSimpleOption("test2", false)));
-
-		assertTrue(CmdLineUtils.findAllOfSpecifiedOption(findOption, options).isEmpty());
-		CmdLineOptionInstance firstOption = createOptionInstance(findOption, "first");
-		CmdLineOptionInstance secondOption = createOptionInstance(findOption, "second");
-		options.add(firstOption);
-		assertEquals(Sets.newHashSet(firstOption),
-				CmdLineUtils.findAllOfSpecifiedOption(findOption, options));
-		options.add(secondOption);
-		assertEquals(Sets.newHashSet(firstOption, secondOption),
-				CmdLineUtils.findAllOfSpecifiedOption(findOption, options));		
-	}
-
-	public void testIsPrintSupportedActionsOption() {
-		assertFalse(CmdLineUtils.isPrintSupportedActionsOption(createSimpleOption(
-				"test", false)));
-		assertTrue(CmdLineUtils
-				.isPrintSupportedActionsOption(new PrintSupportedActionsCmdLineOption()));
-	}
-
-	public void testFindPrintSupportedActionsOption() {
-		CmdLineOption psaAction = new PrintSupportedActionsCmdLineOption();
-		Set<CmdLineOption> options = Sets.newHashSet(
-				(CmdLineOption) createSimpleOption("test", false),
-				createSimpleOption("test2", false));
-
-		assertNull(CmdLineUtils.findPrintSupportedActionsOption(options));
-		options.add(psaAction);
-		assertEquals(psaAction, CmdLineUtils.findPrintSupportedActionsOption(options));
-	}
-
-	public void testFindSpecifiedPrintSupportedActionsOption() {
-		CmdLineOptionInstance psaAction = createOptionInstance(new PrintSupportedActionsCmdLineOption());
-		Set<CmdLineOptionInstance> options = Sets.newHashSet(
-				createOptionInstance(createSimpleOption("test", false)),
-				createOptionInstance(createSimpleOption("test2", false)));
-
-		assertNull(CmdLineUtils.findSpecifiedPrintSupportedActionsOption(options));
-		options.add(psaAction);
-		assertEquals(psaAction, CmdLineUtils.findSpecifiedPrintSupportedActionsOption(options));
-	}
-
-	public void testIsSimpleOption() {
-		assertTrue(CmdLineUtils.isSimpleOption(new PrintSupportedActionsCmdLineOption()));
-		assertTrue(CmdLineUtils.isSimpleOption(new HelpCmdLineOption()));
-		assertTrue(CmdLineUtils.isSimpleOption(createSimpleOption("Test", true)));
-	}
-
-	public void testIsActionOption() {
-		assertFalse(CmdLineUtils.isActionOption(new HelpCmdLineOption()));
-		assertTrue(CmdLineUtils.isActionOption(createActionOption("action")));
-	}
-
-	public void testFindActionOption() {
-		ActionCmdLineOption actionOption = createActionOption("action");
-		Set<CmdLineOption> options = Sets.newHashSet(
-				(CmdLineOption) createSimpleOption("test", false),
-				createSimpleOption("test", false));
-
-		assertNull(CmdLineUtils.findActionOption(options));
-		options.add(actionOption);
-		assertEquals(actionOption, CmdLineUtils.findActionOption(options));
-	}
-
-	public void testFindSpecifiedActionOption() {
-		CmdLineOptionInstance actionOption = createOptionInstance(createActionOption("action"));
-		Set<CmdLineOptionInstance> options = Sets.newHashSet(
-				createOptionInstance(createSimpleOption("test", false)),
-				createOptionInstance(createSimpleOption("test", false)));
-
-		assertNull(CmdLineUtils.findSpecifiedActionOption(options));
-		options.add(actionOption);
-		assertEquals(actionOption, CmdLineUtils.findSpecifiedActionOption(options));
-	}
-
-	public void testIsGroupOption() {
-		assertFalse(CmdLineUtils.isGroupOption(new HelpCmdLineOption()));
-		assertTrue(CmdLineUtils.isGroupOption(createGroupOption("test", false)));
-	}
-
-	public void testAsGroupOption() {
-		try {
-			CmdLineUtils.asGroupOption(createSimpleOption("test", false));
-			fail("Should have thrown IllegalArgumentException");
-		} catch (IllegalArgumentException ignore) { /* expect throw */ }
-		CmdLineUtils.asGroupOption(createGroupOption("test", false));
-	}
-
-	public void testIsHelpOption() {
-		assertFalse(CmdLineUtils.isHelpOption(createSimpleOption("test", false)));
-		assertTrue(CmdLineUtils.isHelpOption(new HelpCmdLineOption()));
-	}
-
-	public void testAsHelpOption() {
-		try {
-			CmdLineUtils.asHelpOption(createSimpleOption("test", false));
-			fail("Should have thrown IllegalArgumentException");
-		} catch (IllegalArgumentException ignore) { /* expect throw */ }
-		CmdLineUtils.asHelpOption(new HelpCmdLineOption());
-	}
-
-	public void testFindHelpOption() {
-		HelpCmdLineOption helpOption = new HelpCmdLineOption();
-		Set<CmdLineOption> options = Sets.newHashSet(
-				(CmdLineOption) createSimpleOption("test", false),
-				createSimpleOption("test", false));
-
-		assertNull(CmdLineUtils.findHelpOption(options));
-		options.add(helpOption);
-		assertEquals(helpOption, CmdLineUtils.findHelpOption(options));
-	}
-
-	public void testFindSpecifiedHelpOption() {
-		CmdLineOptionInstance helpOption = createOptionInstance(new HelpCmdLineOption());
-		Set<CmdLineOptionInstance> options = Sets.newHashSet(
-				createOptionInstance(createSimpleOption("test", false)),
-				createOptionInstance(createSimpleOption("test", false)));
-
-		assertNull(CmdLineUtils.findSpecifiedHelpOption(options));
-		options.add(helpOption);
-		assertEquals(helpOption, CmdLineUtils.findSpecifiedHelpOption(options));
-	}
-
-	public void testValidate() {
-		AdvancedCmdLineOption option = new AdvancedCmdLineOption("t", "test", "", true);
-		AllowedArgsCmdLineOptionValidator validator = new AllowedArgsCmdLineOptionValidator();
-		validator.setAllowedArgs(Lists.newArrayList("value"));
-		option.setValidators(Lists.newArrayList((CmdLineOptionValidator) validator));
-
-		assertFalse(CmdLineUtils.validate(createOptionInstance(option, "value1")));
-		assertTrue(CmdLineUtils.validate(createOptionInstance(option, "value")));		
-	}
-
-	public void testHandle() {
-		CmdLineAction action = createAction("testAction");
-		action.setDescription("test description");
-		AdvancedCmdLineOption option = new AdvancedCmdLineOption("t", "test", "", true);
-		// Insure runs with no errors when action doesn't have a handler.
-		CmdLineUtils.handle(action, createOptionInstance(option));
-
-		// Test case when option has a handler.
-		option.setHandler(new CmdLineOptionHandler() {
-
-			public void handleOption(CmdLineAction selectedAction,
-					CmdLineOptionInstance optionInstance) {
-				selectedAction.setDescription("handler modified description");
-			}
-
-			public String getHelp(CmdLineOption option) {
-				return null;
-			}
-		});
-		CmdLineUtils.handle(action, createOptionInstance(option));
-		assertEquals("handler modified description", action.getDescription());
-	}
-
-	public void testFindAction() {
-		CmdLineAction action = createAction("TestAction1");
-		Set<CmdLineAction> actions = Sets.newHashSet(
-				action,
-				createAction("TestAction2"),
-				createAction("TestAction3"));
-		assertNull(CmdLineUtils.findAction(createOptionInstance(createActionOption("action"), "TestAction"), actions));
-		assertEquals(action, CmdLineUtils.findAction(createOptionInstance(createActionOption("action"), "TestAction1"), actions));
-	}
+   public void testDetermineRequired() {
+      CmdLineAction action = createAction("TestAction");
+      CmdLineOption urlOption, passOption;
+
+      HashSet<CmdLineOption> options = Sets.newHashSet(
+            urlOption = createSimpleOption("url",
+                  createRequiredRequirementRule(action)),
+            passOption = createSimpleOption("pass", false),
+            createSimpleOption("user", false), createActionOption("operation"));
+
+      Set<CmdLineOption> requiredOptions = CmdLineUtils.determineRequired(
+            action, options);
+      assertEquals(Sets.newHashSet(urlOption), requiredOptions);
+
+      options = Sets.newHashSet(
+            urlOption = createSimpleOption("url",
+                  createRequiredRequirementRule(action)),
+            passOption = createSimpleOption("pass", true),
+            createSimpleOption("user", false), createActionOption("operation"));
+
+      requiredOptions = CmdLineUtils.determineRequired(action, options);
+      assertEquals(Sets.newHashSet(urlOption, passOption), requiredOptions);
+   }
+
+   public void testIsRequired() {
+      CmdLineAction action = createAction("TestAction");
+      assertTrue(CmdLineUtils.isRequired(action,
+            createSimpleOption("url", createRequiredRequirementRule(action))));
+      assertFalse(CmdLineUtils.isRequired(action,
+            createSimpleOption("url", true)));
+      assertFalse(CmdLineUtils.isRequired(action,
+            createSimpleOption("url", false)));
+   }
+
+   public void testDetermineOptional() {
+      CmdLineAction action = createAction("TestAction");
+      CmdLineOption actionOption = new ActionCmdLineOption();
+
+      HashSet<CmdLineOption> options = Sets.newHashSet(
+            createSimpleOption("url", createRequiredRequirementRule(action)),
+            createSimpleOption("pass", false),
+            createSimpleOption("user", false), actionOption);
+
+      Set<CmdLineOption> optionalOptions = CmdLineUtils.determineOptional(
+            action, options);
+      assertTrue(optionalOptions.isEmpty());
+
+      options = Sets.newHashSet(createSimpleOption("pass", true),
+            createSimpleOption("user", true), actionOption);
+
+      optionalOptions = CmdLineUtils.determineOptional(action, options);
+      assertTrue(optionalOptions.isEmpty());
+
+      CmdLineOption passOption, userOption;
+      options = Sets.newHashSet(
+            passOption = createSimpleOption("pass",
+                  createOptionalRequirementRule(action)),
+            userOption = createSimpleOption("user",
+                  createOptionalRequirementRule(action)), actionOption);
+
+      optionalOptions = CmdLineUtils.determineOptional(action, options);
+      assertEquals(Sets.newHashSet(passOption, userOption), optionalOptions);
+   }
+
+   public void testIsOptional() {
+      CmdLineAction action = createAction("TestAction");
+      assertTrue(CmdLineUtils.isOptional(action,
+            createSimpleOption("url", createOptionalRequirementRule(action))));
+      assertFalse(CmdLineUtils.isOptional(action,
+            createSimpleOption("url", true)));
+      assertFalse(CmdLineUtils.isOptional(action,
+            createSimpleOption("url", false)));
+   }
+
+   public void testGetRequiredOptions() {
+      CmdLineOption urlOption = createSimpleOption("url", true);
+      HashSet<CmdLineOption> options = Sets.newHashSet(urlOption,
+            createActionOption("action"), createSimpleOption("user", false),
+            createSimpleOption("pass", false));
+
+      assertEquals(Sets.newHashSet(urlOption),
+            CmdLineUtils.getRequiredOptions(options));
+   }
+
+   public void testGetRequiredOptionsDoNotIgnoreActionOptions() {
+      CmdLineOption actionOption, urlOption;
+      HashSet<CmdLineOption> options = Sets.newHashSet(
+            actionOption = createActionOption("action"),
+            urlOption = createSimpleOption("url", true),
+            createSimpleOption("user", false),
+            createSimpleOption("pass", false));
+
+      assertEquals(Sets.newHashSet(actionOption, urlOption),
+            CmdLineUtils.getRequiredOptions(options, false));
+   }
+
+   public void testSortOptionsByRequiredStatus() {
+      CmdLineAction action = createAction("action");
+      CmdLineOption userOption, urlOption, passOption, actionOption;
+      HashSet<CmdLineOption> options = Sets.newHashSet(
+            userOption = createSimpleOption("user", false),
+            urlOption = createSimpleOption("url",
+                  createRequiredRequirementRule(action)),
+            passOption = createSimpleOption("pass", false),
+            actionOption = createActionOption("action"));
+
+      List<CmdLineOption> sortedOptions = CmdLineUtils
+            .sortOptionsByRequiredStatus(options);
+      assertEquals(options.size(), sortedOptions.size());
+      assertEquals(actionOption, sortedOptions.get(0));
+      assertEquals(urlOption, sortedOptions.get(1));
+      assertEquals(Sets.newHashSet(userOption, passOption),
+            Sets.newHashSet(sortedOptions.get(2), sortedOptions.get(3)));
+   }
+
+   public void testGetOptionByName() {
+      CmdLineAction action = createAction("action");
+      CmdLineOption userOption, urlOption, passOption, actionOption;
+      HashSet<CmdLineOption> options = Sets.newHashSet(
+            userOption = createSimpleOption("user", "username", false),
+            urlOption = createSimpleOption("u", "url",
+                  createRequiredRequirementRule(action)),
+            passOption = createSimpleOption("pass", "password", false),
+            actionOption = createActionOption("action"));
+
+      assertEquals(userOption,
+            CmdLineUtils.getOptionByName(userOption.getShortOption(), options));
+      assertEquals(userOption,
+            CmdLineUtils.getOptionByName(userOption.getLongOption(), options));
+      assertEquals(urlOption,
+            CmdLineUtils.getOptionByName(urlOption.getShortOption(), options));
+      assertEquals(urlOption,
+            CmdLineUtils.getOptionByName(urlOption.getLongOption(), options));
+      assertEquals(passOption,
+            CmdLineUtils.getOptionByName(passOption.getShortOption(), options));
+      assertEquals(passOption,
+            CmdLineUtils.getOptionByName(passOption.getLongOption(), options));
+      assertEquals(actionOption, CmdLineUtils.getOptionByName(
+            actionOption.getShortOption(), options));
+      assertEquals(actionOption,
+            CmdLineUtils.getOptionByName(actionOption.getLongOption(), options));
+   }
+
+   public void testGetOptionInstanceByName() {
+      CmdLineAction action = createAction("action");
+      CmdLineOptionInstance userOptionInst, urlOptionInst, passOptionInst, actionOptionInst;
+      HashSet<CmdLineOptionInstance> optionInsts = Sets.newHashSet(
+            userOptionInst = new CmdLineOptionInstance(createSimpleOption(
+                  "user", "username", false), new ArrayList<String>()),
+            urlOptionInst = new CmdLineOptionInstance(createSimpleOption("u",
+                  "url", createRequiredRequirementRule(action)),
+                  new ArrayList<String>()),
+            passOptionInst = new CmdLineOptionInstance(createSimpleOption(
+                  "pass", "password", false), new ArrayList<String>()),
+            actionOptionInst = new CmdLineOptionInstance(
+                  createActionOption("action"), new ArrayList<String>()));
+
+      assertEquals(userOptionInst, CmdLineUtils.getOptionInstanceByName(
+            userOptionInst.getOption().getShortOption(), optionInsts));
+      assertEquals(userOptionInst, CmdLineUtils.getOptionInstanceByName(
+            userOptionInst.getOption().getLongOption(), optionInsts));
+      assertEquals(urlOptionInst, CmdLineUtils.getOptionInstanceByName(
+            urlOptionInst.getOption().getShortOption(), optionInsts));
+      assertEquals(urlOptionInst, CmdLineUtils.getOptionInstanceByName(
+            urlOptionInst.getOption().getLongOption(), optionInsts));
+      assertEquals(passOptionInst, CmdLineUtils.getOptionInstanceByName(
+            passOptionInst.getOption().getShortOption(), optionInsts));
+      assertEquals(passOptionInst, CmdLineUtils.getOptionInstanceByName(
+            passOptionInst.getOption().getLongOption(), optionInsts));
+      assertEquals(actionOptionInst, CmdLineUtils.getOptionInstanceByName(
+            actionOptionInst.getOption().getShortOption(), optionInsts));
+      assertEquals(actionOptionInst, CmdLineUtils.getOptionInstanceByName(
+            actionOptionInst.getOption().getLongOption(), optionInsts));
+   }
+
+   public void testIsSubOption() {
+      CmdLineOption subOption = createSimpleOption("test", false);
+      GroupCmdLineOption groupOption = createGroupOption("group", false);
+      assertFalse(CmdLineUtils.isSubOption(groupOption, subOption));
+
+      groupOption.addSubOption(new SubOption(subOption, false));
+      assertTrue(CmdLineUtils.isSubOption(groupOption, subOption));
+   }
+
+   public void testFindPerformAndQuitOptions() {
+      SimpleCmdLineOption performAndQuitOption = createSimpleOption("help",
+            false);
+      performAndQuitOption.setPerformAndQuit(true);
+      SimpleCmdLineOption otherOption = createSimpleOption("help", false);
+      otherOption.setPerformAndQuit(false);
+
+      CmdLineOptionInstance performAndQuitOptionInstance = new CmdLineOptionInstance(
+            performAndQuitOption, new ArrayList<String>());
+      CmdLineOptionInstance otherInstance = new CmdLineOptionInstance(
+            otherOption, new ArrayList<String>());
+
+      assertEquals(Sets.newHashSet(performAndQuitOptionInstance),
+            CmdLineUtils.findPerformAndQuitOptions(Sets.newHashSet(
+                  performAndQuitOptionInstance, otherInstance)));
+   }
+
+   public void testIsPerformAndQuitOption() {
+      SimpleCmdLineOption performAndQuitOption = createSimpleOption("help",
+            false);
+      performAndQuitOption.setPerformAndQuit(true);
+      SimpleCmdLineOption otherOption = createSimpleOption("help", false);
+      otherOption.setPerformAndQuit(false);
+
+      assertTrue(CmdLineUtils.isPerformAndQuitOption(performAndQuitOption));
+      assertFalse(CmdLineUtils.isPerformAndQuitOption(otherOption));
+   }
+
+   public void testFindSpecifiedOption() {
+      CmdLineOption findOption = createSimpleOption("test", false);
+      Set<CmdLineOptionInstance> options = Sets.newHashSet(
+            createOptionInstance(createSimpleOption("test1", false)),
+            createOptionInstance(createSimpleOption("test2", false)));
+
+      assertNull(CmdLineUtils.findSpecifiedOption(findOption, options));
+      options.add(createOptionInstance(findOption));
+      assertEquals(createOptionInstance(findOption),
+            CmdLineUtils.findSpecifiedOption(findOption, options));
+   }
+
+   public void testFindAllOfSpecifiedOption() {
+      CmdLineOption findOption = createSimpleOption("test", false);
+      Set<CmdLineOptionInstance> options = Sets.newHashSet(
+            createOptionInstance(createSimpleOption("test1", false)),
+            createOptionInstance(createSimpleOption("test2", false)));
+
+      assertTrue(CmdLineUtils.findAllOfSpecifiedOption(findOption, options)
+            .isEmpty());
+      CmdLineOptionInstance firstOption = createOptionInstance(findOption,
+            "first");
+      CmdLineOptionInstance secondOption = createOptionInstance(findOption,
+            "second");
+      options.add(firstOption);
+      assertEquals(Sets.newHashSet(firstOption),
+            CmdLineUtils.findAllOfSpecifiedOption(findOption, options));
+      options.add(secondOption);
+      assertEquals(Sets.newHashSet(firstOption, secondOption),
+            CmdLineUtils.findAllOfSpecifiedOption(findOption, options));
+   }
+
+   public void testIsPrintSupportedActionsOption() {
+      assertFalse(CmdLineUtils
+            .isPrintSupportedActionsOption(createSimpleOption("test", false)));
+      assertTrue(CmdLineUtils
+            .isPrintSupportedActionsOption(new PrintSupportedActionsCmdLineOption()));
+   }
+
+   public void testFindPrintSupportedActionsOption() {
+      CmdLineOption psaAction = new PrintSupportedActionsCmdLineOption();
+      Set<CmdLineOption> options = Sets.newHashSet(
+            (CmdLineOption) createSimpleOption("test", false),
+            createSimpleOption("test2", false));
+
+      assertNull(CmdLineUtils.findPrintSupportedActionsOption(options));
+      options.add(psaAction);
+      assertEquals(psaAction,
+            CmdLineUtils.findPrintSupportedActionsOption(options));
+   }
+
+   public void testFindSpecifiedPrintSupportedActionsOption() {
+      CmdLineOptionInstance psaAction = createOptionInstance(new PrintSupportedActionsCmdLineOption());
+      Set<CmdLineOptionInstance> options = Sets.newHashSet(
+            createOptionInstance(createSimpleOption("test", false)),
+            createOptionInstance(createSimpleOption("test2", false)));
+
+      assertNull(CmdLineUtils.findSpecifiedPrintSupportedActionsOption(options));
+      options.add(psaAction);
+      assertEquals(psaAction,
+            CmdLineUtils.findSpecifiedPrintSupportedActionsOption(options));
+   }
+
+   public void testIsSimpleOption() {
+      assertTrue(CmdLineUtils
+            .isSimpleOption(new PrintSupportedActionsCmdLineOption()));
+      assertTrue(CmdLineUtils.isSimpleOption(new HelpCmdLineOption()));
+      assertTrue(CmdLineUtils.isSimpleOption(createSimpleOption("Test", true)));
+   }
+
+   public void testIsActionOption() {
+      assertFalse(CmdLineUtils.isActionOption(new HelpCmdLineOption()));
+      assertTrue(CmdLineUtils.isActionOption(createActionOption("action")));
+   }
+
+   public void testFindActionOption() {
+      ActionCmdLineOption actionOption = createActionOption("action");
+      Set<CmdLineOption> options = Sets.newHashSet(
+            (CmdLineOption) createSimpleOption("test", false),
+            createSimpleOption("test", false));
+
+      assertNull(CmdLineUtils.findActionOption(options));
+      options.add(actionOption);
+      assertEquals(actionOption, CmdLineUtils.findActionOption(options));
+   }
+
+   public void testFindSpecifiedActionOption() {
+      CmdLineOptionInstance actionOption = createOptionInstance(createActionOption("action"));
+      Set<CmdLineOptionInstance> options = Sets.newHashSet(
+            createOptionInstance(createSimpleOption("test", false)),
+            createOptionInstance(createSimpleOption("test", false)));
+
+      assertNull(CmdLineUtils.findSpecifiedActionOption(options));
+      options.add(actionOption);
+      assertEquals(actionOption,
+            CmdLineUtils.findSpecifiedActionOption(options));
+   }
+
+   public void testIsGroupOption() {
+      assertFalse(CmdLineUtils.isGroupOption(new HelpCmdLineOption()));
+      assertTrue(CmdLineUtils.isGroupOption(createGroupOption("test", false)));
+   }
+
+   public void testAsGroupOption() {
+      try {
+         CmdLineUtils.asGroupOption(createSimpleOption("test", false));
+         fail("Should have thrown IllegalArgumentException");
+      } catch (IllegalArgumentException ignore) { /* expect throw */
+      }
+      CmdLineUtils.asGroupOption(createGroupOption("test", false));
+   }
+
+   public void testIsHelpOption() {
+      assertFalse(CmdLineUtils.isHelpOption(createSimpleOption("test", false)));
+      assertTrue(CmdLineUtils.isHelpOption(new HelpCmdLineOption()));
+   }
+
+   public void testAsHelpOption() {
+      try {
+         CmdLineUtils.asHelpOption(createSimpleOption("test", false));
+         fail("Should have thrown IllegalArgumentException");
+      } catch (IllegalArgumentException ignore) { /* expect throw */
+      }
+      CmdLineUtils.asHelpOption(new HelpCmdLineOption());
+   }
+
+   public void testFindHelpOption() {
+      HelpCmdLineOption helpOption = new HelpCmdLineOption();
+      Set<CmdLineOption> options = Sets.newHashSet(
+            (CmdLineOption) createSimpleOption("test", false),
+            createSimpleOption("test", false));
+
+      assertNull(CmdLineUtils.findHelpOption(options));
+      options.add(helpOption);
+      assertEquals(helpOption, CmdLineUtils.findHelpOption(options));
+   }
+
+   public void testFindSpecifiedHelpOption() {
+      CmdLineOptionInstance helpOption = createOptionInstance(new HelpCmdLineOption());
+      Set<CmdLineOptionInstance> options = Sets.newHashSet(
+            createOptionInstance(createSimpleOption("test", false)),
+            createOptionInstance(createSimpleOption("test", false)));
+
+      assertNull(CmdLineUtils.findSpecifiedHelpOption(options));
+      options.add(helpOption);
+      assertEquals(helpOption, CmdLineUtils.findSpecifiedHelpOption(options));
+   }
+
+   public void testValidate() {
+      AdvancedCmdLineOption option = new AdvancedCmdLineOption("t", "test", "",
+            true);
+      AllowedArgsCmdLineOptionValidator validator = new AllowedArgsCmdLineOptionValidator();
+      validator.setAllowedArgs(Lists.newArrayList("value"));
+      option.setValidators(Lists
+            .newArrayList((CmdLineOptionValidator) validator));
+
+      assertFalse(CmdLineUtils.validate(createOptionInstance(option, "value1")));
+      assertTrue(CmdLineUtils.validate(createOptionInstance(option, "value")));
+   }
+
+   public void testHandle() {
+      CmdLineAction action = createAction("testAction");
+      action.setDescription("test description");
+      AdvancedCmdLineOption option = new AdvancedCmdLineOption("t", "test", "",
+            true);
+      // Insure runs with no errors when action doesn't have a handler.
+      CmdLineUtils.handle(action, createOptionInstance(option));
+
+      // Test case when option has a handler.
+      option.setHandler(new CmdLineOptionHandler() {
+
+         public void handleOption(CmdLineAction selectedAction,
+               CmdLineOptionInstance optionInstance) {
+            selectedAction.setDescription("handler modified description");
+         }
+
+         public String getHelp(CmdLineOption option) {
+            return null;
+         }
+      });
+      CmdLineUtils.handle(action, createOptionInstance(option));
+      assertEquals("handler modified description", action.getDescription());
+   }
+
+   public void testFindAction() {
+      CmdLineAction action = createAction("TestAction1");
+      Set<CmdLineAction> actions = Sets.newHashSet(action,
+            createAction("TestAction2"), createAction("TestAction3"));
+      assertNull(CmdLineUtils.findAction(
+            createOptionInstance(createActionOption("action"), "TestAction"),
+            actions));
+      assertEquals(action, CmdLineUtils.findAction(
+            createOptionInstance(createActionOption("action"), "TestAction1"),
+            actions));
+   }
 }

Modified: oodt/branches/cas-cl/src/testdata/cmd-line-actions.xml
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/testdata/cmd-line-actions.xml?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/testdata/cmd-line-actions.xml (original)
+++ oodt/branches/cas-cl/src/testdata/cmd-line-actions.xml Mon Oct 31 01:01:18 2011
@@ -18,18 +18,19 @@
   Author: bfoster (Brian Foster)
 -->
 <beans xmlns="http://www.springframework.org/schema/beans"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:p="http://www.springframework.org/schema/p"
-  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-  
-  <bean id="PrintMessageAction" class="org.apache.oodt.cas.cl.action.PrintMessageAction">
-    <property name="description" value="Prints out a given message"/>
-  </bean>
-  <bean id="PrintHelloWorldAction" class="org.apache.oodt.cas.cl.action.PrintMessageAction">
-    <property name="description" value="Prints out 'Hello World'"/>
-    <property name="message" value="Hello World"/>
-  </bean>
-  <bean id="TestSetContextInjectAction" class="org.apache.oodt.cas.cl.test.util.TestSetContextInjectTypeAction">
-    <property name="description" value="Test action for testing application context injection"/>
-  </bean>
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+	<bean id="PrintMessageAction" class="org.apache.oodt.cas.cl.action.PrintMessageAction">
+		<property name="description" value="Prints out a given message" />
+	</bean>
+	<bean id="PrintHelloWorldAction" class="org.apache.oodt.cas.cl.action.PrintMessageAction">
+		<property name="description" value="Prints out 'Hello World'" />
+		<property name="message" value="Hello World" />
+	</bean>
+	<bean id="TestSetContextInjectAction"
+		class="org.apache.oodt.cas.cl.test.util.TestSetContextInjectTypeAction">
+		<property name="description"
+			value="Test action for testing application context injection" />
+	</bean>
 </beans>

Modified: oodt/branches/cas-cl/src/testdata/cmd-line-options.xml
URL: http://svn.apache.org/viewvc/oodt/branches/cas-cl/src/testdata/cmd-line-options.xml?rev=1195292&r1=1195291&r2=1195292&view=diff
==============================================================================
--- oodt/branches/cas-cl/src/testdata/cmd-line-options.xml (original)
+++ oodt/branches/cas-cl/src/testdata/cmd-line-options.xml Mon Oct 31 01:01:18 2011
@@ -21,36 +21,35 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
-  <bean id="outputStream" class="org.apache.oodt.cas.cl.option.AdvancedCmdLineOption">
-    <property name="shortOption" value="utos" />
-    <property name="longOption" value="outputStream" />
-    <property name="description" value="Specify OutputStream" />
-    <property name="hasArgs" value="true" />
-    <property name="type" value="java.io.OutputStream" />
-    <property name="defaultArgs">
-      <list>
-        <value>org.apache.oodt.cas.cl.test.util.TestOutputStream</value>
-      </list>
-    </property>
-    <property name="argsDescription" value="OutputStream classpath" />
-    <property name="requirementRules">
-      <list>
-        <bean class="org.apache.oodt.cas.cl.option.require.ActionDependencyRule"
-          p:actionName="PrintMessageAction" p:relation="OPTIONAL" />
-      </list>
-    </property>
-    <property name="handler">
-      <bean
-        class="org.apache.oodt.cas.cl.option.handler.ApplyToActionHandler">
-        <property name="applyToActions">
-          <list>
-            <bean class="org.apache.oodt.cas.cl.option.handler.ApplyToAction"
-              p:actionName="PrintMessageAction" p:methodName="setOutputStream" />
-          </list>
-        </property>
-      </bean>
-    </property>
-  </bean>
+	<bean id="outputStream" class="org.apache.oodt.cas.cl.option.AdvancedCmdLineOption">
+		<property name="shortOption" value="utos" />
+		<property name="longOption" value="outputStream" />
+		<property name="description" value="Specify OutputStream" />
+		<property name="hasArgs" value="true" />
+		<property name="type" value="java.io.OutputStream" />
+		<property name="defaultArgs">
+			<list>
+				<value>org.apache.oodt.cas.cl.test.util.TestOutputStream</value>
+			</list>
+		</property>
+		<property name="argsDescription" value="OutputStream classpath" />
+		<property name="requirementRules">
+			<list>
+				<bean class="org.apache.oodt.cas.cl.option.require.ActionDependencyRule"
+					p:actionName="PrintMessageAction" p:relation="OPTIONAL" />
+			</list>
+		</property>
+		<property name="handler">
+			<bean class="org.apache.oodt.cas.cl.option.handler.ApplyToActionHandler">
+				<property name="applyToActions">
+					<list>
+						<bean class="org.apache.oodt.cas.cl.option.handler.ApplyToAction"
+							p:actionName="PrintMessageAction" p:methodName="setOutputStream" />
+					</list>
+				</property>
+			</bean>
+		</property>
+	</bean>
 
 	<bean id="printMessage" class="org.apache.oodt.cas.cl.option.AdvancedCmdLineOption">
 		<property name="shortOption" value="pm" />
@@ -65,8 +64,7 @@
 			</list>
 		</property>
 		<property name="handler">
-			<bean
-				class="org.apache.oodt.cas.cl.option.handler.ApplyToActionHandler">
+			<bean class="org.apache.oodt.cas.cl.option.handler.ApplyToActionHandler">
 				<property name="applyToActions">
 					<list>
 						<bean class="org.apache.oodt.cas.cl.option.handler.ApplyToAction"