コード例 #1
0
        public void TestCsvRecordReaderRead()
        {
            string filename = ".unittestscsvrecorreader" + nameof(TestCsvRecordReaderRead);

            CreateCsvTempFile(filename);

            FileSource source = new FileSource(filename, Path.GetTempPath());

            CsvRecordReader reader = new CsvRecordReader(source);

            Assert.Throws <InvalidOperationException>(() => reader.Read(3));

            reader.Prepare();

            string[][] lineparts = (string[][])reader.Read(2);

            Assert.AreEqual(2, lineparts.Length);
            Assert.AreEqual(5, lineparts[0].Length);
            Assert.AreEqual(new[] { "5.1", "3.5", "1.4", "0.2", "Iris-setosa" }, lineparts[0]);

            lineparts = (string[][])reader.Read(3);

            Assert.AreEqual(1, lineparts.Length);
            Assert.AreEqual(5, lineparts[0].Length);

            reader.Dispose();

            DeleteTempFile(filename);
        }
コード例 #2
0
        public void DisposingCsvRecordReaderRepeatedlyResultsInNoException()
        {
            var sampleCsv = new List <string>
            {
                "Order Number,Year,Month,Day,Product Number,Product Name,Count,Extra Col1,Extra Col2,Empty Column",
                "1000,2018,1,1,P-10001,Arugola,5,250.50,Lorem,Ipsum,10,20,30,,40",
                "1001,2017,12,12,P-10002,Iceberg lettuce,500.00,Lorem,Ipsum,10,20"
            };

            using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(string.Join(Environment.NewLine, sampleCsv))))
                using (var reader = new CsvRecordReader(memoryStream))
                {
                    var records = reader.GetRecords().ToList();

                    reader.Dispose();
                    reader.Dispose();
                    reader.Dispose();
                }
        }