public void LoadFileShouldIncludeQuotes() { var file = new Framework.CsvFile.CsvFile("SimpleQuotes.csv"); file.Load(); Assert.True(file.DataRows.All(row => row.Fields.Last().Contains('"'))); }
public void LoadFileShouldRemoveQuotes() { var file = new Framework.CsvFile.CsvFile("SimpleSemicolon.csv") { RemoveQuotes = true }; file.Load(); Assert.DoesNotContain(file.DataRows, row => row.Fields.Last().Contains('"')); }
public void LoadFileShouldDetectSeparatorCharacter() { var file = new Framework.CsvFile.CsvFile("SimpleSemicolon.csv"); file.Load(); Assert.Equal(4, file.Columns.Count); Assert.Equal(10, file.DataRows.Count); Assert.Empty(file.InvalidRows); Assert.True(string.IsNullOrEmpty(file.LoadError)); Assert.Equal(';', file.Separator); }
public void SaveFileNormallyShouldNotContainBom() { var file = new Framework.CsvFile.CsvFile("SimpleTab.csv"); file.Load(); file.SaveAs("Temp.csv"); var text = File.ReadAllBytes("Temp.csv").Take(4).ToArray(); Assert.Equal(new[] { (byte)'N', (byte)'u', (byte)'m', (byte)'m' }, text); }
public void LoadFileWithBomShouldReadAllLinesAndColumns() { var file = new Framework.CsvFile.CsvFile("Utf8WithBom.csv"); file.Load(); Assert.Equal(4, file.Columns.Count); Assert.Equal(10, file.DataRows.Count); Assert.Empty(file.InvalidRows); Assert.True(string.IsNullOrEmpty(file.LoadError)); Assert.Equal('\t', file.Separator); Assert.Equal("utf-8", file.FileEncoding.WebName); }
public void SaveFileForcingBomShouldContainBom() { var file = new Framework.CsvFile.CsvFile("SimpleTab.csv"); file.Load(); file.WriteBom = true; file.SaveAs("Temp.csv"); var text = File.ReadAllBytes("Temp.csv").Take(4).ToArray(); Assert.Equal(new byte[] { 0xEF, 0xBB, 0xBF, (byte)'N' }, text); }
public void LoadFileShouldDetectSeparatorCharacter() { var file = new Framework.CsvFile.CsvFile("QuotedWithLineBreaks.csv") { RemoveQuotes = true }; file.Load(); Assert.Equal(4, file.Columns.Count); Assert.Equal(10, file.DataRows.Count); Assert.Empty(file.InvalidRows); Assert.True(string.IsNullOrEmpty(file.LoadError)); Assert.Equal(';', file.Separator); Assert.DoesNotContain(file.DataRows, row => row.Fields.Last().Contains('"')); }
public void LoadFileWindowsEncodedWithoutBomShouldReadAllLinesAndColumns() { var file = new Framework.CsvFile.CsvFile("WindowsWithoutBom.csv") { FileEncoding = Encoding.GetEncoding(1250) }; file.Load(); Assert.Equal(4, file.Columns.Count); Assert.Equal(10, file.DataRows.Count); Assert.Empty(file.InvalidRows); Assert.True(string.IsNullOrEmpty(file.LoadError)); Assert.Equal('\t', file.Separator); Assert.Contains("Eingänge", file.DataRows.Last().RawData); Assert.Equal("windows-1250", file.FileEncoding.WebName); }