@Test public void testCustomId() throws IOException { String customKey = "hello"; writer.write(new Text(customKey), fragment); writer.close(null); String[] lines = new String(outputBuffer.toByteArray(), "US-ASCII").split("\n"); assertEquals(4, lines.length); String idLine = lines[0]; assertTrue(idLine.startsWith("@")); assertEquals(customKey, idLine.substring(1)); }
@Test public void testBaseQualitiesInIllumina() throws IOException { Configuration conf = new Configuration(); conf.set("hbam.fastq-output.base-quality-encoding", "illumina"); writer.setConf(conf); // ensure sanger qualities are converted to illumina String seq = "AAAAAAAAAA"; String qual = "##########"; fragment.setSequence(new Text(seq)); fragment.setQuality(new Text(qual)); writer.write(null, fragment); writer.close(null); String[] lines = new String(outputBuffer.toByteArray(), "US-ASCII").split("\n"); assertEquals(qual.replace("#", "B"), lines[3]); }
@Test public void testNullControlNumber() throws IOException { fragment.setControlNumber(null); writer.write(null, fragment); writer.close(null); String[] lines = new String(outputBuffer.toByteArray(), "US-ASCII").split("\n"); assertEquals(4, lines.length); String idLine = lines[0]; assertTrue(idLine.startsWith("@")); fragment.setControlNumber(0); // when null 0 should be written compareMetadata(fragment, idLine); }
@Test public void testSimple() throws IOException { writer.write(null, fragment); writer.close(null); String[] lines = new String(outputBuffer.toByteArray(), "US-ASCII").split("\n"); assertEquals(4, lines.length); String idLine = lines[0]; assertTrue(idLine.startsWith("@")); compareMetadata(fragment, idLine); assertEquals(fragment.getSequence().toString(), lines[1]); assertEquals("+", lines[2]); assertEquals(fragment.getQuality().toString(), lines[3]); }
@Test public void testNullFilter() throws IOException { fragment.setFilterPassed(null); writer.write(null, fragment); writer.close(null); String[] lines = new String(outputBuffer.toByteArray(), "US-ASCII").split("\n"); assertEquals(4, lines.length); String idLine = lines[0]; assertTrue(idLine.startsWith("@")); fragment.setFilterPassed(true); // when filter not available then it passes compareMetadata(fragment, idLine); }
@Test public void testClose() throws IOException { // doesn't really do anything but exercise the code writer.close(null); }