@Test
public void testGetStringValue() throws ParseException
{

    final String testDefaultValue = "default_str_value";
    ArgumentParser argParser = new ArgumentParser("");
    Option strOpt = argParser.addArgument("s", "str", true, "Some string input parameter", false);
    String inputValue;
    String resultValue;
    final String shortStrOpt = String.format("-%s", strOpt.getOpt());
    final String longStrOpt = String.format("--%s", strOpt.getLongOpt());
    argParser.parseArguments(new String[] {});
    assertNull(argParser.getStringValue(strOpt));
    assertEquals(testDefaultValue, argParser.getStringValue(strOpt, testDefaultValue));
    inputValue = "my_string_value_1";
    argParser.parseArguments(new String[] {shortStrOpt, inputValue});
    resultValue = argParser.getStringValue(strOpt);
    assertNotNull(resultValue);
    assertEquals(inputValue, resultValue);
    inputValue = "my_string_value_2";
    argParser.parseArguments(new String[] {shortStrOpt, inputValue});
    resultValue = argParser.getStringValue(strOpt, testDefaultValue);
    assertNotNull(resultValue);
    assertEquals(inputValue, resultValue);
    inputValue = "my_string_value_3";
    argParser.parseArguments(new String[] {longStrOpt, inputValue});
    resultValue = argParser.getStringValue(strOpt);
    assertNotNull(resultValue);
    assertEquals(inputValue, resultValue);
}