예제 #1
0
        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);
            }
        }
예제 #2
0
        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());
                }
            }
        }