Пример #1
0
        public void ValidateMBFTextReaderConstructor()
        {
            string FilePath = _utilityObj._xmlUtil.GetTextValue(
                Constants.MBFTextReaderValidationNode, Constants.FilePathNode);
            string expectedLine = _utilityObj._xmlUtil.GetTextValue(
                Constants.MBFTextReaderValidationNode, Constants.ExpectedLineNode);
            string expectedHeader = _utilityObj._xmlUtil.GetTextValue(
                Constants.MBFTextReaderValidationNode, Constants.ExpectedHeaderNode);

            // MBFTextReader(string).
            using (MBFTextReader mbfReader = new MBFTextReader(FilePath))
            {
                Assert.AreEqual(expectedHeader, mbfReader.ReadBlock(0, 0, 32, 5));
                Assert.AreEqual(FilePath, mbfReader.FileName);
                Assert.AreEqual(expectedLine, mbfReader.Line);
            }

            // MBFTextReader(Stream).
            using (FileStream stream = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
            {
                MBFTextReader mbfReader = new MBFTextReader(stream);
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.IsNull(mbfReader.FileName);
            }

            // MBFTextReader(TextReader).
            using (StreamReader reader = new StreamReader(FilePath))
            {
                MBFTextReader mbfReader = new MBFTextReader(reader);

                // Start reading from begining
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.IsNull(mbfReader.FileName);

                // skip line.
                mbfReader.SkipToNextSection();
                Assert.IsNotNull(mbfReader.Line);
            }

            // Data indent specifies the number of chars that are considered the line header.
            int dataIndent = 2;

            expectedHeader = expectedHeader.Substring(0, 2);

            // MBFTextReader(string,DataIndent).
            using (MBFTextReader mbfReader = new MBFTextReader(FilePath, dataIndent))
            {
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.AreEqual(FilePath, mbfReader.FileName);
            }

            // MBFTextReader(string,DataIndent,bool skipLines).
            using (MBFTextReader mbfReader = new MBFTextReader(FilePath, dataIndent, false))
            {
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.AreEqual(FilePath, mbfReader.FileName);
            }


            // MBFTextReader(Stream, int) .
            using (FileStream stream = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
            {
                MBFTextReader mbfReader = new MBFTextReader(stream, dataIndent);
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.IsNull(mbfReader.FileName);
            }

            // MBFTextReader(Stream, int, bool) .
            using (FileStream stream = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
            {
                MBFTextReader mbfReader = new MBFTextReader(stream, dataIndent, true);
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.IsNull(mbfReader.FileName);
            }

            // MBFTextReader(TextReader).
            using (StreamReader reader = new StreamReader(FilePath))
            {
                MBFTextReader mbfReader = new MBFTextReader(reader, dataIndent);
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.IsNull(mbfReader.FileName);
            }

            // MBFTextReader(TextReader,skipLines).
            using (StreamReader reader = new StreamReader(FilePath))
            {
                MBFTextReader mbfReader = new MBFTextReader(reader, dataIndent, true);
                Assert.AreEqual(expectedHeader, mbfReader.LineHeader);
                Assert.IsNull(mbfReader.FileName);
            }
        }