//2012-03-20 johnpfeiffer
import static org.junit.Assert.*;
import org.junit.Test;
public class CommandLineParameterRequirementsTest
{
CommandLineParameterRequirements tester = null;
public static final String classVersion = "0.2";
@Test public void testCommandLineParameterRequirements()
{
try
{ tester = new CommandLineParameterRequirements( 0 , null );
}
catch( NullPointerException npe )
{ return;
}
fail("Expected NullPointerException");
try
{ tester = new CommandLineParameterRequirements( -1 , null );
}
catch( IllegalArgumentException npe )
{ return;
}
fail("Expected IllegalArgumentException");
}
@Test public void testGetVersion()
{
tester = new CommandLineParameterRequirements( 1 , "testGetVersion" );
assertEquals( classVersion , tester.getVersion() );
}
//does not impose a maximum limit
@Test public void testGetRequiredCount()
{
int resultCount = -1;
tester = new CommandLineParameterRequirements( 1 , "error message" );
assertEquals( 1 , tester.getRequiredCount() );
try
{ tester = new CommandLineParameterRequirements( -1 , "error" );
}
catch( IllegalArgumentException npe )
{ return;
}
fail("Expected IllegalArgumentException");
}
@Test public void testGetErrorMessage()
{
String result = null;
tester = new CommandLineParameterRequirements( 1 , "errormessage" );
assertEquals( "errormessage" , tester.getErrorMessage() );
try
{ tester = new CommandLineParameterRequirements( -1 , null );
}
catch( IllegalArgumentException npe )
{ return;
}
fail("Expected IllegalArgumentException");
result = tester.getErrorMessage();
assertNotNull( result );
}
@Test public void testIsValid()
{
tester = new CommandLineParameterRequirements( 0 , "error message" );
assertFalse( tester.isValid( null , System.out ) );
String testargs[] = new String[ ] { "string" };
tester = new CommandLineParameterRequirements( 1 , "error message" );
assertTrue( tester.isValid( testargs , System.out ) );
}
} //end class