public void testInfo() throws IOException { // set a command line CommandLine.setCommandArgs("aksfj", "-d", "djfk siduf"); try { final ArrayList<InputStream> al = new ArrayList<>(); al.add( createStream( ">123456789012345678901\nacgtgtgtgtcttagggctcactggtcatgca\n>bob-the-builder\ntagttcagcatcgatca\n>hobos r us\naccccaccccacaaacccaa")); final FastaSequenceDataSource ds = new FastaSequenceDataSource(al, new DNAFastaSymbolTable()); final SequencesWriter sw = new SequencesWriter(ds, mDir, 20, PrereadType.UNKNOWN, false); sw.setComment("wejksfd boier sakrjoieje"); sw.processSequences(); final CompressedMemorySequencesReader msr = (CompressedMemorySequencesReader) SequencesReaderFactory.createMemorySequencesReader(mDir, true, LongRange.NONE); checkDetails(msr); final CompressedMemorySequencesReader msr2 = (CompressedMemorySequencesReader) msr.copy(); assertTrue(msr2 != msr); checkDetails(msr2); assertEquals("wejksfd boier sakrjoieje", msr.comment()); assertEquals("wejksfd boier sakrjoieje", msr2.comment()); assertEquals("aksfj -d \"djfk siduf\"", msr.commandLine()); assertEquals("aksfj -d \"djfk siduf\"", msr2.commandLine()); } finally { CommandLine.clearCommandArgs(); } }
public void testRoll() throws Exception { final ArrayList<InputStream> al = new ArrayList<>(); al.add( createStream( ">123456789012345678901\nacgtgtgtgtcttagggctcactggtcatgca\n>bob the buuilder\ntagttcagcatcgatca\n>hobos r us\naccccaccccacaaacccaa")); final FastaSequenceDataSource ds = new FastaSequenceDataSource(al, new DNAFastaSymbolTable()); final SequencesWriter sw = new SequencesWriter(ds, mDir, 20, PrereadType.UNKNOWN, false); sw.processSequences(); try (SequencesReader dsr = SequencesReaderFactory.createMemorySequencesReader(mDir, true, LongRange.NONE)) { final SequencesIterator it = dsr.iterator(); assertTrue(((CompressedMemorySequencesReader) dsr).integrity()); assertEquals(mDir, dsr.path()); assertTrue(it.nextSequence()); assertEquals("1234567890123456789", it.currentName()); assertEquals(32, it.currentLength()); SequencesWriterTest.checkEquals( it, new byte[] { 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 2, 4, 4, 1, 3, 3, 3, 2, 4, 2, 1, 2, 4, 3, 3, 4, 2, 1, 4, 3, 2, 1 }); assertTrue(it.nextSequence()); assertEquals("bob", it.currentName()); assertEquals(17, it.currentLength()); SequencesWriterTest.checkEquals( it, new byte[] {4, 1, 3, 4, 4, 2, 1, 3, 2, 1, 4, 2, 3, 1, 4, 2, 1}); assertTrue(it.nextSequence()); assertEquals("hobos", it.currentName()); assertEquals(20, it.currentLength()); SequencesWriterTest.checkEquals( it, new byte[] {1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1}); } }