### Question:
OptionsParser { public Options parse(String[] arguments) { Options.Builder builder = new Options.Builder(); for (String arg : arguments) { if ("-q".equals(arg)) builder.withQuiet(true); else if ("-v".equals(arg)) builder.withVerbose(true); else if ("-n".equals(arg)) builder.withColorsEnabled(false); else if ("-s".equals(arg)) builder.withDecodeScalaNames(true); else if ("-a".equals(arg)) builder.withAssertLogEnabled(true); else if ("-c".equals(arg)) builder.withExceptionClassLogEnabled(false); else if ("--with-types".equals(arg)) builder.withTypesEnabled(true); else if (arg.startsWith(OPT_DISPLAY_MODE)) builder.withDisplayMode(toValue(OPT_DISPLAY_MODE, arg)); else if (arg.startsWith(OPT_TESTS)) builder.withTestFilters(toSet(OPT_TESTS, arg)); else if (arg.startsWith(OPT_TRACE_DISPATCH_EVENTS)) builder.withTraceDispatchEvents(true); else if (arg.startsWith(OPT_RUN_LISTENER)) builder.withRunListener(toValue(OPT_RUN_LISTENER, arg)); else if (arg.startsWith(OPT_INCLUDE_TAGS)) builder.withIncludeTags(toSet(OPT_INCLUDE_TAGS, arg)); else if (arg.startsWith(OPT_EXCLUDE_TAGS)) builder.withExcludeTags(toSet(OPT_EXCLUDE_TAGS, arg)); else if (arg.startsWith("-D") && arg.contains("=")) builder.withSystemProperty(toEntry(arg)); else if (!arg.startsWith("-") && !arg.startsWith("+")) builder.withGlobPattern(arg); } for (String arg : arguments) { if ("+q".equals(arg)) builder.withQuiet(false); else if ("+v".equals(arg)) builder.withVerbose(false); else if ("+n".equals(arg)) builder.withColorsEnabled(true); else if ("+s".equals(arg)) builder.withDecodeScalaNames(false); else if ("+a".equals(arg)) builder.withAssertLogEnabled(false); else if ("+c".equals(arg)) builder.withExceptionClassLogEnabled(true); } return builder.build(); }  Options parse(String[] arguments);  }### Answer:
@Test public void toSetShouldSplitAtComma() { Options options = parse("--include-tags=development,production"); assertThat(options.getIncludeTags(), contains("development", "production")); }
@Test public void toSetShouldTrimDoubleQuotes() { Options options = parse("--include-tags=\"(development & integration)\",development"); assertThat(options.getIncludeTags(), contains("(development & integration)", "development")); }
@Test public void toSetShouldTrimSingleQuotes() { Options options = parse("--include-tags='(development & integration)'"); assertThat(options.getIncludeTags(), contains("(development & integration)")); }
@Test public void toSetShouldTrimSingleQuotesBeforeSplitting() { Options options = parse("--include-tags='(development & integration), production'"); assertThat(options.getIncludeTags(), contains("(development & integration)", "production")); }
@Test public void toSetShouldTrimDoubleQuotesBeforeSplitting() { Options options = parse("--include-tags=\"(development & integration), production\""); assertThat(options.getIncludeTags(), contains("(development & integration)", "production")); }