@DataProvider(name = "ArtificialBAMBuilderUnitTestProvider")
public Object[][] makeArtificialBAMBuilderUnitTestProvider() {
final List<Object[]> tests = new LinkedList<Object[]>();
final List<Integer> starts = Arrays.asList(
1,
ArtificialBAMBuilder.BAM_SHARD_SIZE - 100,
ArtificialBAMBuilder.BAM_SHARD_SIZE + 100
);
for ( final int readLength : Arrays.asList(10, 20) ) {
for ( final int skips : Arrays.asList(0, 1, 10) ) {
for ( final int start : starts ) {
for ( final int nSamples : Arrays.asList(1, 2) ) {
for ( final int nReadsPerLocus : Arrays.asList(1, 10) ) {
for ( final int nLoci : Arrays.asList(10, 100, 1000) ) {
final ArtificialBAMBuilder bamBuilder = new ArtificialBAMBuilder(nReadsPerLocus, nLoci);
bamBuilder.setReadLength(readLength);
bamBuilder.setSkipNLoci(skips);
bamBuilder.setAlignmentStart(start);
bamBuilder.createAndSetHeader(nSamples);
tests.add(new Object[]{bamBuilder, readLength, skips, start, nSamples, nReadsPerLocus, nLoci});
}
}
}
}
}
}
return tests.toArray(new Object[][]{});
}