@Test
public void testAddArgument()
{

    Option opt1 = new Option("a", "some_flag", false, "Some flag parameter");
    Option opt2 = new Option("b", "some_parameter", true, "Some parameter with an argument");
    List<String> optionsIn = Arrays.asList(optionToString(opt1), optionToString(opt2));
    ArgumentParser argParser = new ArgumentParser("");
    argParser.addArgument(opt1, true);
    argParser.addArgument(opt2.getOpt(), opt2.getLongOpt(), opt2.hasArg(), opt2.getDescription(), false);
    Collection resultOptions = argParser.getConfiguredOptions();
    List<String> optionsOut = new ArrayList<>();
    for (Object obj : resultOptions)
    {
        assertTrue(obj instanceof Option);
        optionsOut.add(optionToString((Option) obj));
    }
    optionsOut.containsAll(optionsIn);
    optionsIn.containsAll(optionsOut);
}