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); }
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(); } }