示例#1
0
        public void SingleSpaceLine()
        {
            // Arrange
            string          data            = "asdf,qwerty" + Environment.NewLine + " ";
            Encoding        encoding        = Encoding.UTF8;
            Stream          stream          = new MemoryStream(encoding.GetBytes(data));
            CsvStreamReader reader          = new CsvStreamReader(stream, encoding);
            string          expectedRecord1 = "asdf";
            string          expectedRecord2 = "qwerty";
            string          expectedRecord3 = " ";

            // Act
            string actualRecord1 = reader.ReadField();

            Assert.IsFalse(reader.EndOfRecord);
            string actualRecord2 = reader.ReadField();

            Assert.IsTrue(reader.EndOfRecord);
            string actualRecord3 = reader.ReadField();

            Assert.IsTrue(reader.EndOfRecord);

            // Assert
            Assert.IsTrue(reader.EndOfStream);
            Assert.AreEqual(expectedRecord1, actualRecord1);
            Assert.AreEqual(expectedRecord2, actualRecord2);
            Assert.AreEqual(expectedRecord3, actualRecord3);
        }
示例#2
0
        public void EscapedQuotes()
        {
            // Arrange
            string          data            = "asdf, \"wx\"\"yz\" ,qwerty";
            Encoding        encoding        = Encoding.UTF8;
            Stream          stream          = new MemoryStream(encoding.GetBytes(data));
            CsvStreamReader reader          = new CsvStreamReader(stream, encoding);
            string          expectedRecord1 = "asdf";
            string          expectedRecord2 = "wx\"yz";
            string          expectedRecord3 = "qwerty";

            // Act
            string actualRecord1 = reader.ReadField();
            string actualRecord2 = reader.ReadField();
            string actualRecord3 = reader.ReadField();

            // Assert
            Assert.AreEqual(expectedRecord1, actualRecord1);
            Assert.AreEqual(expectedRecord2, actualRecord2);
            Assert.AreEqual(expectedRecord3, actualRecord3);
        }
示例#3
0
        public void TrailingSpace()
        {
            // Arrange
            string          data            = "asdf, ";
            Encoding        encoding        = Encoding.UTF8;
            Stream          stream          = new MemoryStream(encoding.GetBytes(data));
            CsvStreamReader reader          = new CsvStreamReader(stream, encoding);
            string          expectedRecord1 = "asdf";
            string          expectedRecord2 = " ";

            // Act
            string actualRecord1 = reader.ReadField();

            Assert.IsFalse(reader.EndOfRecord);

            string actualRecord2 = reader.ReadField();

            // Assert
            Assert.IsTrue(reader.EndOfRecord);
            Assert.IsTrue(reader.EndOfStream);
            Assert.AreEqual(expectedRecord1, actualRecord1);
            Assert.AreEqual(expectedRecord2, actualRecord2);
        }
示例#4
0
        public void ReadTrailingDelimiter()
        {
            // Arrange
            string          data                = "asdf,";
            Encoding        encoding            = Encoding.UTF8;
            Stream          stream              = new MemoryStream(encoding.GetBytes(data));
            CsvStreamReader reader              = new CsvStreamReader(stream, encoding);
            string          expectedRecord1     = "asdf";
            string          expectedRecord2     = string.Empty;
            bool            expectedEndOfRecord = true;
            bool            expectedEndOfStream = true;

            // Act
            string actualRecord1     = reader.ReadField();
            string actualRecord2     = reader.ReadField();
            bool   actualEndOfRecord = reader.EndOfRecord;
            bool   actualEndOfStream = reader.EndOfStream;

            // Assert
            Assert.AreEqual(expectedRecord1, actualRecord1);
            Assert.AreEqual(expectedRecord2, actualRecord2);
            Assert.AreEqual(expectedEndOfRecord, actualEndOfRecord);
            Assert.AreEqual(expectedEndOfStream, actualEndOfStream);
        }
示例#5
0
        public void TrailingLineBreak()
        {
            // Arrange
            string          data           = "asdf" + Environment.NewLine;
            Encoding        encoding       = Encoding.UTF8;
            Stream          stream         = new MemoryStream(encoding.GetBytes(data));
            CsvStreamReader reader         = new CsvStreamReader(stream, encoding);
            string          expectedRecord = "asdf";

            // Act
            string actualRecord = reader.ReadField();

            // Assert
            Assert.AreEqual(expectedRecord, actualRecord);
            Assert.IsTrue(reader.EndOfRecord);
            Assert.IsTrue(reader.EndOfStream);
        }