public void CsvTableWriter_Basic() { string path = Path.GetTempFileName(); try { using (var writer = new CsvTableWriter(new string[] { "Col0", "Col1", "Col2" }, new FileStream(path, FileMode.Create), Encoding.UTF8)) { Assert.AreEqual(0, writer.GetColumnIndex("Col0")); Assert.AreEqual(1, writer.GetColumnIndex("Col1")); Assert.AreEqual(2, writer.GetColumnIndex("Col2")); Assert.AreEqual(-1, writer.GetColumnIndex("Col3")); writer.Set("Col0", "(0,0)"); writer.Set("Col1", "(1,0)"); writer.Set("Col2", "(2,0)"); writer.WriteRow(); writer.Set("Col0", "(0,1)"); writer.Set("Col1", "(1,1)"); writer.Set("Col2", "(2,1)"); writer.WriteRow(); } using (var reader = new CsvTableReader(new FileStream(path, FileMode.Open), Encoding.UTF8)) { Assert.IsTrue(reader.ColumnMap.ContainsKey("Col0")); Assert.IsTrue(reader.ColumnMap.ContainsKey("Col1")); Assert.IsTrue(reader.ColumnMap.ContainsKey("Col2")); Assert.IsNotNull(reader.ReadRow()); Assert.AreEqual("(0,0)", reader.Parse("Col0", (string)null)); Assert.AreEqual("(1,0)", reader.Parse("Col1", (string)null)); Assert.AreEqual("(2,0)", reader.Parse("Col2", (string)null)); Assert.IsNotNull(reader.ReadRow()); Assert.AreEqual("(0,1)", reader.Parse("Col0", (string)null)); Assert.AreEqual("(1,1)", reader.Parse("Col1", (string)null)); Assert.AreEqual("(2,1)", reader.Parse("Col2", (string)null)); Assert.IsNull(reader.ReadRow()); } } finally { Helper.DeleteFile(path); } }
public void CsvTableWriter_Basic() { using (var tempFolder = new TempFolder()) { string path = Path.Combine(tempFolder.Path, "test.csv"); using (var writer = new CsvTableWriter(new string[] { "Col0", "Col1", "Col2" }, new FileStream(path, FileMode.Create), Encoding.UTF8)) { Assert.Equal(0, writer.GetColumnIndex("Col0")); Assert.Equal(1, writer.GetColumnIndex("Col1")); Assert.Equal(2, writer.GetColumnIndex("Col2")); Assert.Equal(-1, writer.GetColumnIndex("Col3")); writer.Set("Col0", "(0,0)"); writer.Set("Col1", "(1,0)"); writer.Set("Col2", "(2,0)"); writer.WriteRow(); writer.Set("Col0", "(0,1)"); writer.Set("Col1", "(1,1)"); writer.Set("Col2", "(2,1)"); writer.WriteRow(); } using (var reader = new CsvTableReader(new FileStream(path, FileMode.Open), Encoding.UTF8)) { Assert.True(reader.ColumnMap.ContainsKey("Col0")); Assert.True(reader.ColumnMap.ContainsKey("Col1")); Assert.True(reader.ColumnMap.ContainsKey("Col2")); Assert.NotNull(reader.ReadRow()); Assert.Equal("(0,0)", reader["Col0"]); Assert.Equal("(1,0)", reader["Col1"]); Assert.Equal("(2,0)", reader["Col2"]); Assert.NotNull(reader.ReadRow()); Assert.Equal("(0,1)", reader["Col0"]); Assert.Equal("(1,1)", reader["Col1"]); Assert.Equal("(2,1)", reader["Col2"]); Assert.Null(reader.ReadRow()); } } }