diff options
Diffstat (limited to 'third_party/java/jopt-simple/src/test/java/joptsimple/OptionSpecTokenizerTest.java')
-rw-r--r-- | third_party/java/jopt-simple/src/test/java/joptsimple/OptionSpecTokenizerTest.java | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/third_party/java/jopt-simple/src/test/java/joptsimple/OptionSpecTokenizerTest.java b/third_party/java/jopt-simple/src/test/java/joptsimple/OptionSpecTokenizerTest.java deleted file mode 100644 index 6e403078f7..0000000000 --- a/third_party/java/jopt-simple/src/test/java/joptsimple/OptionSpecTokenizerTest.java +++ /dev/null @@ -1,205 +0,0 @@ -/* - The MIT License - - Copyright (c) 2004-2015 Paul R. Holser, Jr. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ - -package joptsimple; - -import java.util.NoSuchElementException; - -import static java.util.Collections.*; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import static org.infinitest.toolkit.CollectionMatchers.*; -import static org.junit.Assert.*; -import static org.junit.rules.ExpectedException.*; - -/** - * @author <a href="mailto:pholser@alumni.rice.edu">Paul Holser</a> - */ -public class OptionSpecTokenizerTest { - @Rule public final ExpectedException thrown = none(); - - @Test - public void tokenizeEmpty() { - assertNoMoreTokens( new OptionSpecTokenizer( "" ) ); - } - - @Test - public void tokenizeOptionsWithoutArguments() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "ab" ); - assertNextTokenTakesNoArgument( lexer, 'a', false ); - assertNextTokenTakesNoArgument( lexer, 'b', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithRequiredArguments() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "c:d:" ); - assertNextTokenRequiresAnArgument( lexer, 'c', false ); - assertNextTokenRequiresAnArgument( lexer, 'd', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithOptionalArguments() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "e::f::" ); - assertNextTokenTakesAnOptionalArgument( lexer, 'e', false ); - assertNextTokenTakesAnOptionalArgument( lexer, 'f', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithMixtureOfSpecTypes() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "gh:i::j" ); - assertNextTokenTakesNoArgument( lexer, 'g', false ); - assertNextTokenRequiresAnArgument( lexer, 'h', false ); - assertNextTokenTakesAnOptionalArgument( lexer, 'i', false ); - assertNextTokenTakesNoArgument( lexer, 'j', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void wByItself() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W" ); - assertNextTokenTakesNoArgument( lexer, 'W', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void wRequiredArg() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W:" ); - assertNextTokenRequiresAnArgument( lexer, 'W', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void wOptionalArg() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W::" ); - assertNextTokenTakesAnOptionalArgument( lexer, 'W', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void alternativeLongOptionsMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W;" ); - assertNextTokenRequiresAnArgument( lexer, 'W', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithoutArgumentsAndHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "ab*" ); - assertNextTokenTakesNoArgument( lexer, 'a', false ); - assertNextTokenTakesNoArgument( lexer, 'b', true ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithRequiredArgumentsAndHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "c*:d:" ); - assertNextTokenRequiresAnArgument( lexer, 'c', true ); - assertNextTokenRequiresAnArgument( lexer, 'd', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithOptionalArgumentsAndHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "e*::f*::" ); - assertNextTokenTakesAnOptionalArgument( lexer, 'e', true ); - assertNextTokenTakesAnOptionalArgument( lexer, 'f', true ); - assertNoMoreTokens( lexer ); - } - - @Test - public void tokenizeOptionsWithMixtureOfSpecTypesAndHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "g*h:i*::j" ); - assertNextTokenTakesNoArgument( lexer, 'g', true ); - assertNextTokenRequiresAnArgument( lexer, 'h', false ); - assertNextTokenTakesAnOptionalArgument( lexer, 'i', true ); - assertNextTokenTakesNoArgument( lexer, 'j', false ); - assertNoMoreTokens( lexer ); - } - - @Test - public void wByItselfWithHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W*" ); - assertNextTokenTakesNoArgument( lexer, 'W', true ); - assertNoMoreTokens( lexer ); - } - - @Test - public void wRequiredArgWithHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W*:" ); - assertNextTokenRequiresAnArgument( lexer, 'W', true ); - assertNoMoreTokens( lexer ); - } - - @Test - public void wOptionalArgWithHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W*::" ); - assertNextTokenTakesAnOptionalArgument( lexer, 'W', true ); - assertNoMoreTokens( lexer ); - } - - @Test - public void alternativeLongOptionsMarkerWithHelpMarker() { - OptionSpecTokenizer lexer = new OptionSpecTokenizer( "W*;" ); - assertNextTokenTakesNoArgument( lexer, 'W', true ); - } - - private void assertNoMoreTokens( OptionSpecTokenizer lexer ) { - assertFalse( lexer.hasMore() ); - - thrown.expect( NoSuchElementException.class ); - lexer.next(); - } - - private static void assertNextTokenTakesNoArgument( OptionSpecTokenizer lexer, char option, boolean forHelp ) { - assertNextToken( lexer, option, false, false, forHelp ); - } - - private static void assertNextTokenRequiresAnArgument( OptionSpecTokenizer lexer, char option, boolean forHelp ) { - assertNextToken( lexer, option, true, true, forHelp ); - } - - private static void assertNextTokenTakesAnOptionalArgument( OptionSpecTokenizer lexer, char option, - boolean forHelp ) { - - assertNextToken( lexer, option, true, false, forHelp ); - } - - private static void assertNextToken( OptionSpecTokenizer lexer, char option, boolean acceptsArguments, - boolean requiresArgument, boolean forHelp ) { - - assertTrue( "no more tokens?", lexer.hasMore() ); - AbstractOptionSpec<?> spec = lexer.next(); - assertThat( "option?", spec.options(), hasSameContentsAs( singleton( String.valueOf( option ) ) ) ); - assertEquals( "accepts args?", acceptsArguments, spec.acceptsArguments() ); - assertEquals( "requires arg?", requiresArgument, spec.requiresArgument() ); - assertEquals( "for help?", forHelp, spec.isForHelp() ); - } -} |