@DataProvider(name = "OutputProvider")
public Object[][] OutputProvider() {
ObjectArrayList<Object[]> tests = new ObjectArrayList<Object[]>();
final ATDTestCommandLineProgram clp = new ATDTestCommandLineProgram();
for ( final Object obj : Arrays.asList(clp.new OutputRequiredSamArgumentSource(), clp.new OutputRequiredVcfArgumentSource(), clp.new OutputRequiredStreamArgumentSource()) ) {
for ( final boolean provided : Arrays.asList(true, false) ) {
tests.add(new Object[]{obj, true, true, provided});
}
}
for ( final Object obj : Arrays.asList(clp.new OutputNotRequiredSamArgumentSource(), clp.new OutputNotRequiredVcfArgumentSource(), clp.new OutputNotRequiredStreamArgumentSource()) ) {
for ( final boolean provided : Arrays.asList(true, false) ) {
tests.add(new Object[]{obj, false, true, provided});
}
}
for ( final Object obj : Arrays.asList(clp.new OutputNotRequiredNoDefaultSamArgumentSource(), clp.new OutputNotRequiredNoDefaultVcfArgumentSource(), clp.new OutputNotRequiredNoDefaultStreamArgumentSource()) ) {
for ( final boolean provided : Arrays.asList(true, false) ) {
tests.add(new Object[]{obj, false, false, provided});
}
}
return tests.toArray(new Object[][]{});
}