package joptsimple.examples;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import org.joda.time.LocalDate;
import org.junit.Test;
import static joptsimple.util.DateConverter.*;
import static joptsimple.util.RegexMatcher.*;
import static org.junit.Assert.*;
public class OptionArgumentConverterTest {
@Test
public void usesConvertersOnOptionArgumentsWhenTold() {
OptionParser parser = new OptionParser();
parser.accepts( "birthdate" ).withRequiredArg().withValuesConvertedBy( datePattern( "MM/dd/yy" ) );
parser.accepts( "ssn" ).withRequiredArg().withValuesConvertedBy( regex( "\\d{3}-\\d{2}-\\d{4}" ));
OptionSet options = parser.parse( "--birthdate", "02/24/05", "--ssn", "123-45-6789" );
assertEquals( new LocalDate( 2005, 2, 24 ).toDate(), options.valueOf( "birthdate" ) );
assertEquals( "123-45-6789", options.valueOf( "ssn" ) );
}
}