package joptsimple.examples; import static java.util.Arrays.*; import joptsimple.OptionParser; import joptsimple.OptionSet; import org.junit.Test; import static org.junit.Assert.*; public class SignallingEndOfOptionsTest { @Test public void doubleHyphenSignalsEndOfOptions() { OptionParser parser = new OptionParser( "ab:c::de:f::" ); OptionSet options = parser.parse( "-a", "-b=foo", "-c=bar", "--", "-d", "-e", "baz", "-f", "biz" ); assertTrue( options.has( "a" ) ); assertFalse( options.hasArgument( "a" ) ); assertTrue( options.has( "b" ) ); assertTrue( options.hasArgument( "b" ) ); assertEquals( asList( "foo" ), options.valuesOf( "b" ) ); assertTrue( options.has( "c" ) ); assertTrue( options.hasArgument( "c" ) ); assertEquals( asList( "bar" ), options.valuesOf( "c" ) ); assertFalse( options.has( "d" ) ); assertFalse( options.has( "e" ) ); assertFalse( options.has( "f" ) ); assertEquals( asList( "-d", "-e", "baz", "-f", "biz" ), options.nonOptionArguments() ); } }