Beispiel #1
0
        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++;
                }
            }
        }
Beispiel #2
0
        /// <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");
            }
        }
Beispiel #3
0
        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");
            }
        }