aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/java/jopt-simple/src/test/java/joptsimple/TypesafeOptionArgumentRetrievalTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/java/jopt-simple/src/test/java/joptsimple/TypesafeOptionArgumentRetrievalTest.java')
-rw-r--r--third_party/java/jopt-simple/src/test/java/joptsimple/TypesafeOptionArgumentRetrievalTest.java317
1 files changed, 0 insertions, 317 deletions
diff --git a/third_party/java/jopt-simple/src/test/java/joptsimple/TypesafeOptionArgumentRetrievalTest.java b/third_party/java/jopt-simple/src/test/java/joptsimple/TypesafeOptionArgumentRetrievalTest.java
deleted file mode 100644
index cea1e728a1..0000000000
--- a/third_party/java/jopt-simple/src/test/java/joptsimple/TypesafeOptionArgumentRetrievalTest.java
+++ /dev/null
@@ -1,317 +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.List;
-
-import org.junit.Test;
-
-import static java.lang.Short.*;
-import static java.util.Arrays.*;
-import static java.util.Collections.*;
-import static joptsimple.ExceptionMatchers.*;
-import static org.junit.Assert.*;
-
-/**
- * @author <a href="mailto:pholser@alumni.rice.edu">Paul Holser</a>
- */
-public class TypesafeOptionArgumentRetrievalTest extends AbstractOptionParserFixture {
- @Test
- public void retrievalOfTypedRequiredArgumentsInATypesafeManner() {
- OptionSpec<Integer> optionA = parser.accepts( "a" ).withRequiredArg().ofType( Integer.class );
-
- OptionSet options = parser.parse( "-a", "1" );
-
- assertTrue( options.has( optionA ) );
- Integer valueFromOption = optionA.value( options );
- assertEquals( Integer.valueOf( 1 ), valueFromOption );
- Integer valueFromOptionSet = options.valueOf( optionA );
- assertEquals( valueFromOption, valueFromOptionSet );
-
- List<Integer> valuesFromOption = optionA.values( options );
- assertEquals( asList( 1 ), valuesFromOption );
- List<Integer> valuesFromOptionSet = options.valuesOf( optionA );
- assertEquals( valuesFromOption, valuesFromOptionSet );
- }
-
- @Test
- public void retrievalOfTypedOptionalArgumentsInATypesafeManner() {
- OptionSpec<Double> optionB = parser.accepts( "b" ).withOptionalArg().ofType( Double.class );
-
- OptionSet options = parser.parse( "-b", "3.14D" );
-
- assertTrue( options.has( optionB ) );
- assertEquals( Double.valueOf( 3.14D ), optionB.value( options ) );
- assertEquals( asList( 3.14D ), optionB.values( options ) );
- }
-
- @Test
- public void retrievalOfUntypedRequiredArgumentsInATypesafeManner() {
- OptionSpec<String> optionC = parser.accepts( "c" ).withRequiredArg();
-
- OptionSet options = parser.parse( "-c", "foo", "-c", "bar" );
-
- assertTrue( options.has( optionC ) );
- assertEquals( asList( "foo", "bar" ), optionC.values( options ) );
- }
-
- @Test
- public void retrievalOfUntypedOptionalArgumentsInATypesafeManner() {
- OptionSpec<String> optionD = parser.accepts( "d" ).withRequiredArg();
-
- OptionSet options = parser.parse( "-d", "foo", "-d", "bar", "-d", "baz" );
-
- assertTrue( options.has( optionD ) );
- List<String> valuesFromOption = optionD.values( options );
- assertEquals( asList( "foo", "bar", "baz" ), valuesFromOption );
- List<String> valuesFromOptionSet = options.valuesOf( optionD );
- assertEquals( valuesFromOption, valuesFromOptionSet );
- }
-
- @Test
- public void retrievalWithVoidOption() {
- OptionSpec<Void> optionE = parser.accepts( "e" );
-
- OptionSet options = parser.parse( "-e" );
-
- assertTrue( options.has( optionE ) );
- assertEquals( emptyList(), options.valuesOf( optionE ) );
- }
-
- @Test
- public void primitiveBooleanAllowedAsTypeSpecifier() {
- OptionSpec<Boolean> optionA = parser.accepts( "a" ).withRequiredArg().ofType( boolean.class );
-
- OptionSet options = parser.parse( "-a", "false" );
-
- assertTrue( options.has( optionA ) );
- assertEquals( asList( false ), options.valuesOf( optionA ) );
- }
-
- @Test
- public void primitiveByteAllowedAsTypeSpecifier() {
- OptionSpec<Byte> optionB = parser.accepts( "b" ).withOptionalArg().ofType( byte.class );
-
- OptionSet options = parser.parse( "-b", "3" );
-
- assertTrue( options.has( optionB ) );
- assertEquals( asList( Byte.valueOf( "3" ) ), options.valuesOf( optionB ) );
- }
-
- @Test( expected = IllegalArgumentException.class )
- public void primitiveCharAllowedAsTypeSpecifier() {
- parser.accepts( "c" ).withRequiredArg().ofType( char.class );
- }
-
- @Test
- public void primitiveDoubleAllowedAsTypeSpecifier() {
- OptionSpec<Double> optionD = parser.accepts( "d" ).withOptionalArg().ofType( double.class );
-
- OptionSet options = parser.parse( "-d", "3.1" );
-
- assertTrue( options.has( optionD ) );
- assertEquals( asList( 3.1D ), options.valuesOf( optionD ) );
- }
-
- @Test
- public void primitiveFloatAllowedAsTypeSpecifier() {
- OptionSpec<Float> optionE = parser.accepts( "e" ).withRequiredArg().ofType( float.class );
-
- OptionSet options = parser.parse( "-e", "2.09" );
-
- assertTrue( options.has( optionE ) );
- assertEquals( asList( 2.09F ), options.valuesOf( optionE ) );
- }
-
- @Test
- public void primitiveIntAllowedAsTypeSpecifier() {
- OptionSpec<Integer> optionF = parser.accepts( "F" ).withRequiredArg().ofType( int.class );
-
- OptionSet options = parser.parse( "-F", "91" );
-
- assertTrue( options.has( optionF ) );
- assertEquals( asList( 91 ), options.valuesOf( optionF ) );
- }
-
- @Test
- public void primitiveLongAllowedAsTypeSpecifier() {
- OptionSpec<Long> optionG = parser.accepts( "g" ).withOptionalArg().ofType( long.class );
-
- OptionSet options = parser.parse("-g", "12");
-
- assertTrue( options.has( optionG ) );
- assertEquals( asList( 12L ), options.valuesOf( optionG ) );
- }
-
- @Test
- public void primitiveShortAllowedAsTypeSpecifier() {
- OptionSpec<Short> optionH = parser.accepts( "H" ).withRequiredArg().ofType( short.class );
-
- OptionSet options = parser.parse( "-H", "8" );
-
- assertTrue( options.has( optionH ) );
- assertEquals( asList( Short.valueOf( "8" ) ), options.valuesOf( optionH ) );
- }
-
- @Test
- public void cannotFoolHasWithAnOptionNotIssuedFromBuilder() {
- parser.accepts( "e" );
-
- OptionSet options = parser.parse( "-e" );
-
- assertFalse( options.has( new FakeOptionSpec<Void>( "e" ) ) );
- }
-
- @Test
- public void cannotFoolHasArgumentWithAnOptionNotIssuedFromBuilder() {
- parser.accepts( "f" ).withRequiredArg();
- OptionSpec<String> fakeOptionF = new FakeOptionSpec<>( "f" );
-
- OptionSet options = parser.parse( "-f", "boo" );
-
- assertFalse( options.hasArgument( fakeOptionF ) );
- }
-
- @Test
- public void cannotFoolValueOfWithAnOptionNotIssuedFromBuilder() {
- parser.accepts( "g" ).withRequiredArg();
-
- OptionSet options = parser.parse( "-g", "foo" );
-
- assertNull( options.valueOf( new FakeOptionSpec<String>( "g" ) ) );
- }
-
- @Test
- public void cannotFoolValuesOfWithAnOptionNotIssuedFromBuilder() {
- parser.accepts( "h" ).withRequiredArg();
-
- OptionSet options = parser.parse( "-h", "foo", "-h", "bar" );
-
- assertEquals( emptyList(), options.valuesOf( new FakeOptionSpec<String>( "h" ) ) );
- }
-
- @Test( expected = ClassCastException.class )
- public void canSubvertTypeSafetyIfYouUseAnOptionSpecAsTheWrongType() {
- ArgumentAcceptingOptionSpec<String> optionI = parser.accepts( "i" ).withRequiredArg();
- optionI.ofType( Integer.class );
-
- OptionSet options = parser.parse( "-i", "2" );
-
- @SuppressWarnings( "unused" )
- String value = optionI.value( options );
- }
-
- @Test( expected = ClassCastException.class )
- public void canSubvertTypeSafetyIfYouGiveAnOptionSpecToOptionSetAsTheWrongType() {
- ArgumentAcceptingOptionSpec<String> optionJ = parser.accepts( "j" ).withRequiredArg();
- optionJ.ofType( Integer.class );
-
- OptionSet options = parser.parse( "-j", "3" );
-
- @SuppressWarnings( "unused" )
- String value = options.valuesOf( optionJ ).get( 0 );
- }
-
- @Test
- public void canUseBooleanType() {
- OptionSpec<Boolean> optionK = parser.accepts( "k" ).withRequiredArg().ofType( Boolean.class );
-
- OptionSet options = parser.parse( "-k", "true" );
-
- assertTrue( optionK.value( options ) );
- }
-
- @Test
- public void usesConverterIfProvided() {
- OptionSpec<Short> optionL = parser.accepts( "L" ).withRequiredArg().withValuesConvertedBy(
- new ValueConverter<Short>() {
- public Short convert( String value ) {
- return parseShort( value );
- }
-
- public Class<Short> valueType() {
- return Short.class;
- }
-
- public String valuePattern() {
- return null;
- }
- } );
-
- OptionSet options = parser.parse( "-L", "34" );
-
- assertEquals( new Short( (short) 34 ), optionL.value( options ) );
- }
-
- @Test
- public void wrapsValueConversionExceptionsRaisedByConverter() {
- OptionSpec<Character> optionM = parser.accepts( "m" ).withRequiredArg().withValuesConvertedBy(
- new ValueConverter<Character>() {
- public Character convert( String value ) {
- throw new ValueConversionException( value );
- }
-
- public Class<Character> valueType() {
- return Character.class;
- }
-
- public String valuePattern() {
- return null;
- }
- } );
-
- OptionSet options = parser.parse( "-m", "a" );
-
- thrown.expect( OptionArgumentConversionException.class );
- thrown.expect( withCauseOfType( ValueConversionException.class ) );
-
- optionM.value( options );
- }
-
- private static class FakeOptionSpec<V> implements OptionSpec<V> {
- private final String option;
-
- FakeOptionSpec( String option ) {
- this.option = option;
- }
-
- public List<String> options() {
- return asList( option );
- }
-
- public V value( OptionSet detectedOptions ) {
- return detectedOptions.valueOf( this );
- }
-
- public List<V> values( OptionSet detectedOptions ) {
- return detectedOptions.valuesOf( this );
- }
-
- public boolean isForHelp() {
- return false;
- }
- }
-}