public void CreateBamReader() { // Should return a fully functional bam reader var tempPath = $"TemporaryBamFile_{Guid.NewGuid()}.bam"; if (File.Exists(tempPath)) { File.Delete(tempPath); } using (var bamWriter = new BamWriter(tempPath, "header", new List <GenomeMetadata.SequenceMetadata>())) { var bamWriterHandle = new BamWriterHandle(bamWriter); bamWriterHandle.WriteAlignment(TestHelpers.CreateBamAlignment("ATCG", 8, 10, 30, true)); bamWriterHandle.WriteAlignment(null); } Assert.True(File.Exists(tempPath)); var stitcherOptions = new StitcherOptions(); var factory = new GeminiDataSourceFactory(stitcherOptions, "fakeGenomePath", false); using (var bamReader = factory.CreateBamReader(tempPath)) { BamAlignment alignment = new BamAlignment(); var getNext = bamReader.GetNextAlignment(ref alignment, true); Assert.True(getNext); Assert.Equal(7, alignment.Position); } File.Delete(tempPath); }
public void HappyPath() { var tempPath = $"TemporaryBamFile_{Guid.NewGuid()}.bam"; if (File.Exists(tempPath)) { File.Delete(tempPath); } using (var bamWriter = new BamWriter(tempPath, "header", new List <GenomeMetadata.SequenceMetadata>())) { var bamWriterHandle = new BamWriterHandle(bamWriter); bamWriterHandle.WriteAlignment(TestHelpers.CreateBamAlignment("ATCG", 1, 10, 30, true)); bamWriterHandle.WriteAlignment(null); } Assert.True(File.Exists(tempPath)); File.Delete(tempPath); }