Пример #1
0
        private static void TestWrites(string tableContents, string readerContents)
        {
            tableContents.ShouldBe(readerContents);

            using (StringReader reader = new(readerContents))
            {
                IList <string>?values;
                int            rowIndex   = 0;
                int            numColumns = TestData.GetLength(1);
                while ((values = CsvUtility.ReadLine(reader)) != null)
                {
                    values.Count.ShouldBe(numColumns);
                    for (int columnIndex = 0; columnIndex < numColumns; columnIndex++)
                    {
                        string value     = values[columnIndex];
                        string?testValue = TestData[rowIndex, columnIndex].ToString();
                        value.ShouldBe(testValue);
                    }

                    rowIndex++;
                }

                rowIndex.ShouldBe(TestData.GetLength(0));
            }
        }
Пример #2
0
        public void ReadLineStringTest()
        {
            var values = CsvUtility.ReadLine("A, B, C").ToArray();

            CollectionAssert.AreEqual(new[] { "A", "B", "C" }, values);

            values = CsvUtility.ReadLine("A, B, C", false).ToArray();
            CollectionAssert.AreEqual(new[] { "A", " B", " C" }, values);
        }
Пример #3
0
        public void ReadLineReaderTest()
        {
            using (StringReader reader = new("A, B, C\r\nD, E, F\r\nG, \"H\r\nh\", \"I\ni\""))
            {
                var values = CsvUtility.ReadLine(reader) !.ToArray();
                CollectionAssert.AreEqual(new[] { "A", "B", "C" }, values);

                values = CsvUtility.ReadLine(reader) !.ToArray();
                CollectionAssert.AreEqual(new[] { "D", "E", "F" }, values);

                values = CsvUtility.ReadLine(reader) !.ToArray();
                CollectionAssert.AreEqual(new[] { "G", "H\r\nh", "I\r\ni" }, values);

                var nullValue = CsvUtility.ReadLine(reader);
                nullValue.ShouldBeNull();
            }
        }