Added unit tests for parsing failures that I encountered during integration testing.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@618 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
2f3ab53888
commit
d725c6cf1c
|
|
@ -66,6 +66,39 @@ public class ParsingEngineTest extends BaseTest {
|
|||
Assert.assertEquals("Argument is not correctly initialized", "na12878.bam", argProvider.inputFile );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void absolutePathnameInCompositeArgumentTest() {
|
||||
final String[] commandLine = new String[] {"-I/broad/1KG/legacy_data/trio/na12878.bam"};
|
||||
|
||||
parsingEngine.addArgumentSource( InputFileArgProvider.class );
|
||||
parsingEngine.parse( commandLine );
|
||||
parsingEngine.validate();
|
||||
|
||||
InputFileArgProvider argProvider = new InputFileArgProvider();
|
||||
parsingEngine.loadArgumentsIntoObject( argProvider );
|
||||
|
||||
Assert.assertEquals("Argument is not correctly initialized", "/broad/1KG/legacy_data/trio/na12878.bam", argProvider.inputFile );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void chrRangeInCompositeArgumentTest() {
|
||||
final String[] commandLine = new String[] {"-Lchr1:10000-11000"};
|
||||
|
||||
parsingEngine.addArgumentSource( ChrRangeArgProvider.class );
|
||||
parsingEngine.parse( commandLine );
|
||||
parsingEngine.validate();
|
||||
|
||||
ChrRangeArgProvider argProvider = new ChrRangeArgProvider();
|
||||
parsingEngine.loadArgumentsIntoObject( argProvider );
|
||||
|
||||
Assert.assertEquals("Argument is not correctly initialized", "chr1:10000-11000", argProvider.REGION_STR );
|
||||
}
|
||||
|
||||
private class ChrRangeArgProvider {
|
||||
@Argument(fullName="genome_region", shortName="L", doc="Genome region to operation on: from chr:start-end")
|
||||
public String REGION_STR = null;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void multiCharShortNameArgumentTest() {
|
||||
final String[] commandLine = new String[] {"-out","out.txt"};
|
||||
|
|
@ -218,6 +251,36 @@ public class ParsingEngineTest extends BaseTest {
|
|||
public Integer value;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultValueTest() {
|
||||
// First try getting the default.
|
||||
String[] commandLine = new String[0];
|
||||
|
||||
parsingEngine.addArgumentSource( DefaultValueArgProvider.class );
|
||||
parsingEngine.parse( commandLine );
|
||||
parsingEngine.validate();
|
||||
|
||||
DefaultValueArgProvider argProvider = new DefaultValueArgProvider();
|
||||
parsingEngine.loadArgumentsIntoObject( argProvider );
|
||||
|
||||
Assert.assertEquals("Default value is not correctly initialized", 42, argProvider.value.intValue() );
|
||||
|
||||
// Then try to override it.
|
||||
commandLine = new String[] { "--value", "27" };
|
||||
|
||||
parsingEngine.parse( commandLine );
|
||||
parsingEngine.validate();
|
||||
|
||||
parsingEngine.loadArgumentsIntoObject( argProvider );
|
||||
|
||||
Assert.assertEquals("Default value is not correctly initialized", 27, argProvider.value.intValue() );
|
||||
}
|
||||
|
||||
private class DefaultValueArgProvider {
|
||||
@Argument(doc="value",required=false)
|
||||
public Integer value = 42;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void disableValidationOfRequiredArgTest() {
|
||||
final String[] commandLine = new String[0];
|
||||
|
|
|
|||
Loading…
Reference in New Issue