public void ValidateSAMParserHeader() { string filePath = Utility._xmlUtil.GetTextValue( Constants.SmallSAMFileNode, Constants.FilePathNode); string[] expectedHeaderTagValues = Utility._xmlUtil.GetTextValue( Constants.SmallSAMFileNode, Constants.RecordTagValuesNode).Split(','); string[] expectedHeaderTagKeys = Utility._xmlUtil.GetTextValue( Constants.SmallSAMFileNode, Constants.RecordTagKeysNode).Split(','); string[] expectedHeaderTypes = Utility._xmlUtil.GetTextValue( Constants.SmallSAMFileNode, Constants.HeaderTyepsNodes).Split(','); SAMAlignmentHeader aligntHeader = SAMParser.ParserSAMHeader(filePath); int tagKeysCount = 0; int tagValuesCount = 0; for (int index = 0; index < aligntHeader.RecordFields.Count; index++) { Assert.AreEqual(expectedHeaderTypes[index].Replace("/", ""), aligntHeader.RecordFields[index].Typecode.ToString().Replace("/", "")); for (int tags = 0; tags < aligntHeader.RecordFields[index].Tags.Count; tags++) { Assert.AreEqual( expectedHeaderTagKeys[tagKeysCount].Replace("/", ""), aligntHeader.RecordFields[index].Tags[tags].Tag.ToString().Replace("/", "")); Assert.AreEqual( expectedHeaderTagValues[tagValuesCount].Replace("/", ""), aligntHeader.RecordFields[index].Tags[tags].Value.ToString().Replace("/", "").Replace("\r", "").Replace("\n", "")); tagKeysCount++; tagValuesCount++; } } }
/// <summary> /// Genaral method to Invalidate ISequence Alignment /// <param name="method">enum type to execute different overload</param> /// </summary> void ValidateISeqAlignParser(ParseOrFormatTypes method) { ISequenceAlignmentParser parser = new SAMParser(); try { switch (method) { case ParseOrFormatTypes.ParseOrFormatText: parser.Parse(null as TextReader); break; case ParseOrFormatTypes.ParseOrFormatTextWithFlag: parser.Parse(null as TextReader, true); break; case ParseOrFormatTypes.ParseOrFormatFileName: parser.Parse(null as string); break; case ParseOrFormatTypes.ParseOrFormatFileNameWithFlag: parser.Parse(null as string, true); break; case ParseOrFormatTypes.ParseOneOrFormatHeader: SAMParser.ParserSAMHeader(null as TextReader); break; case ParseOrFormatTypes.ParseOneOrFormatHeaderFn: SAMParser.ParserSAMHeader(null as string); break; default: break; } Assert.Fail(); } catch (ArgumentNullException) { ApplicationLog.WriteLine( "SAM Parser P2 : Successfully validated the exception"); Console.WriteLine( "SAM Parser P2 : Successfully validated the exception"); } }
public void InvalidateSAMParseHeaderMBFReader() { string filePath = Utility._xmlUtil.GetTextValue( Constants.InvalidSamMBFReaderNode, Constants.FilePathNode); try { using (TextReader reader = new StreamReader(filePath)) { SAMParser.ParserSAMHeader(reader); } Assert.Fail(); } catch (FormatException) { ApplicationLog.WriteLine( "SAM Parser P2 : Successfully validated the exception"); Console.WriteLine( "SAM Parser P2 : Successfully validated the exception"); } }