public void FileTest_Utf16_BigEndian_Omega() { string filename = @"c:\temp\csvw_ft9.txt"; File.Delete(filename); Assert.IsFalse(File.Exists(filename)); List <string[]> list = new List <string[]> (); list.Add(new string[] { "ϴ" }); ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); csv.Encoding = new UnicodeEncoding(true, true); csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); FileInfo fo = new FileInfo(filename); Assert.AreEqual(8, fo.Length); byte[] bytes = File.ReadAllBytes(filename); Assert.AreEqual(fo.Length, bytes.Length); //Array.ForEach<byte>( bytes, p => Console.WriteLine( p ) ) ; Assert.AreEqual(new byte[] { 0xFE, 0xFF, 0x03, 0xF4, 0, 13, 0, 10 }, bytes); }
public void FileTest_Ansi() { byte question = (byte)'?'; // 63 string filename = @"c:\temp\csvw_ft10.txt"; File.Delete(filename); Assert.IsFalse(File.Exists(filename)); List <string[]> list = new List <string[]> (); list.Add(new string[] { "ϴ" }); ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); csv.Encoding = new ASCIIEncoding(); csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); FileInfo fo = new FileInfo(filename); Assert.AreEqual(3, fo.Length); byte[] bytes = File.ReadAllBytes(filename); Assert.AreEqual(fo.Length, bytes.Length); //Array.ForEach<byte>( bytes, p => Console.WriteLine( p ) ) ; Assert.AreEqual(new byte[] { question, 13, 10 }, bytes); }
public void FileTest_Utf8_NoPreamble() { UTF8Encoding enc = new UTF8Encoding(); string filename = @"c:\temp\csvw_ft3.txt"; File.Delete(filename); Assert.IsFalse(File.Exists(filename)); List <string[]> list = new List <string[]> (); list.Add(new string[] { "" }); ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); csv.Encoding = enc; csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); FileInfo fo = new FileInfo(filename); Assert.AreEqual(2, fo.Length); byte[] bytes = File.ReadAllBytes(filename); Assert.AreEqual(fo.Length, bytes.Length); //Array.ForEach<byte>( bytes, p => Console.WriteLine( p ) ) ; Assert.AreEqual(new byte[] { 13, 10 }, bytes); }
public void FileTest_Utf8_Omega() { string filename = @"c:\temp\csvw_ft6.txt"; File.Delete(filename); Assert.IsFalse(File.Exists(filename)); List <string[]> list = new List <string[]> (); list.Add(new string[] { "ϴ" }); ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); FileInfo fo = new FileInfo(filename); Assert.AreEqual(7, fo.Length); byte[] bytes = File.ReadAllBytes(filename); Assert.AreEqual(fo.Length, bytes.Length); //Array.ForEach<byte>( bytes, p => Console.WriteLine( p ) ) ; Assert.AreEqual(new byte[] { 0xEF, 0xBB, 0xBF, 0xCF, 0xB4, 13, 10 }, bytes); }
public void StringTest1_Basic() { ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); string[] sa = new string[] { " alpha ", " bravo ", " charlie ", " delta " }; string str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual(" alpha , bravo , charlie , delta ", str); csv.Trim = true; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("alpha,bravo,charlie,delta", str); }
public void StringTest3_RabbitEars() { ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); string[] sa = new string[] { "fred", "o,malley" }; string str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("fred,\"o,malley\"", str); csv.Delimter2UseOnlyWhenNecessary = false; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("\"fred\",\"o,malley\"", str); }
public void FileTest_ZeroByteFile2() { string filename = @"c:\temp\csvw_ft1.txt"; File.Delete(filename); Assert.IsFalse(File.Exists(filename)); List <string[]> list = new List <string[]> (); ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); FileInfo fo = new FileInfo(filename); Assert.AreEqual(0, fo.Length); }
public static void ExportTo([NotNull] string path, [NotNull] [ItemNotNull] IEnumerable<CompetitionRunResult> runResults) { Guard.NotNullNorEmpty(path, nameof(path)); Guard.NotNull(runResults, nameof(runResults)); using (var textWriter = new StreamWriter(path)) { var settings = new DelimitedValuesWriterSettings { Culture = Settings.Default.ImportExportCulture }; using (var valuesWriter = new DelimitedValuesWriter(textWriter, ExportColumnNames, settings)) { foreach (CompetitionRunResult runResult in runResults) { using (IDelimitedValuesWriterRow row = valuesWriter.CreateRow()) { row.SetCell(ImportExportColumns.CompetitorNumber, runResult.Competitor.Number); row.SetCell(ImportExportColumns.HandlerName, runResult.Competitor.HandlerName); row.SetCell(ImportExportColumns.DogName, runResult.Competitor.DogName); row.SetCell(ImportExportColumns.CountryCode, runResult.Competitor.CountryCode); if (runResult.Timings != null) { SetTimeElapsedSinceStart(row, ImportExportColumns.IntermediateTime1, runResult, runResult.Timings.IntermediateTime1); SetTimeElapsedSinceStart(row, ImportExportColumns.IntermediateTime2, runResult, runResult.Timings.IntermediateTime2); SetTimeElapsedSinceStart(row, ImportExportColumns.IntermediateTime3, runResult, runResult.Timings.IntermediateTime3); SetTimeElapsedSinceStart(row, ImportExportColumns.FinishTime, runResult, runResult.Timings.FinishTime); } if (runResult.HasCompleted) { row.SetCell(ImportExportColumns.FaultCount, runResult.FaultCount); row.SetCell(ImportExportColumns.RefusalCount, runResult.RefusalCount); row.SetCell(ImportExportColumns.IsEliminated, runResult.IsEliminated); row.SetCell(ImportExportColumns.Placement, runResult.PlacementText); } } } } } }
public static void ExportTo(string path, IEnumerable <CompetitionRunResult> runResults) { Guard.NotNullNorEmpty(path, nameof(path)); Guard.NotNull(runResults, nameof(runResults)); using var textWriter = new StreamWriter(path); var settings = new DelimitedValuesWriterSettings { Culture = Settings.Default.ImportExportCulture }; using var valuesWriter = new DelimitedValuesWriter(textWriter, ExportColumnNames, settings); foreach (CompetitionRunResult runResult in runResults) { using IDelimitedValuesWriterRow row = valuesWriter.CreateRow(); row.SetCell(ImportExportColumns.CompetitorNumber, runResult.Competitor.Number); row.SetCell(ImportExportColumns.HandlerName, runResult.Competitor.HandlerName); row.SetCell(ImportExportColumns.DogName, runResult.Competitor.DogName); row.SetCell(ImportExportColumns.CountryCode, runResult.Competitor.CountryCode); if (runResult.Timings != null) { SetTimeElapsedSinceStart(row, ImportExportColumns.IntermediateTime1, runResult, runResult.Timings.IntermediateTime1); SetTimeElapsedSinceStart(row, ImportExportColumns.IntermediateTime2, runResult, runResult.Timings.IntermediateTime2); SetTimeElapsedSinceStart(row, ImportExportColumns.IntermediateTime3, runResult, runResult.Timings.IntermediateTime3); SetTimeElapsedSinceStart(row, ImportExportColumns.FinishTime, runResult, runResult.Timings.FinishTime); } if (runResult.HasCompleted) { row.SetCell(ImportExportColumns.FaultCount, runResult.FaultCount); row.SetCell(ImportExportColumns.RefusalCount, runResult.RefusalCount); row.SetCell(ImportExportColumns.IsEliminated, runResult.IsEliminated); row.SetCell(ImportExportColumns.Placement, runResult.PlacementText); } } }
public void FileTest_MultiLine() { string filename = @"c:\temp\csvw_ft11.txt"; File.Delete(filename); Assert.IsFalse(File.Exists(filename)); List <string[]> list = new List <string[]> (); list.Add(new string[] { " the ", " fat ", " catch ", " of ", "the", " dayחטיי " }); list.Add(new string[] { " go ", " you ", " good ", " thing ", " ", null }); ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); string actual = File.ReadAllText(filename); Console.WriteLine("[{0}]", actual); string expected = @" the , fat , catch , of ,the, dayחטיי go , you , good , thing , , "; Assert.AreEqual(expected, actual); // trim me csv.Trim = true; csv.Delimiter = "|"; csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); actual = File.ReadAllText(filename); Console.WriteLine("[{0}]", actual); expected = @"the|fat|catch|of|the|dayחטיי go|you|good|thing|| "; Assert.AreEqual(expected, actual); // rabbit ears always csv.Delimter2UseOnlyWhenNecessary = false; csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); actual = File.ReadAllText(filename); Console.WriteLine("[{0}]", actual); expected = @"""the""|""fat""|""catch""|""of""|""the""|""dayחטיי"" ""go""|""you""|""good""|""thing""|""""|"""" "; Assert.AreEqual(expected, actual); // rabbit ears sometimes list = new List <string[]> (); list.Add(new string[] { " the ", " fat ", " cat|ch ", " of ", "the", " dayחטיי " }); list.Add(new string[] { " go ", " you ||| ", " go|od ", " thing ", " ", null, "|" }); csv.Delimter2UseOnlyWhenNecessary = true; csv.WriteFile(filename, list); Assert.IsTrue(File.Exists(filename)); actual = File.ReadAllText(filename); Console.WriteLine("[{0}]", actual); expected = @"the|fat|""cat|ch""|of|the|dayחטיי go|""you |||""|""go|od""|thing|||""|"" "; Assert.AreEqual(expected, actual); }
public void StringTest2_OnlyWhenNecessary() { ac.DelimitedValuesWriter csv = new DelimitedValuesWriter(); string[] sa = null; string str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.IsNull(str); sa = new string[] { null }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("", str); sa = new string[] { "" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("", str); sa = new string[] { "a" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("a", str); sa = new string[] { "a", "b" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("a,b", str); sa = new string[] { "a", "b", "c" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("a,b,c", str); csv.Delimter2UseOnlyWhenNecessary = false; sa = null; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.IsNull(str); sa = new string[] { null }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("\"\"", str); sa = new string[] { "" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("\"\"", str); sa = new string[] { "a" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("\"a\"", str); sa = new string[] { "a", "b" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("\"a\",\"b\"", str); sa = new string[] { "a", "b", "c" }; str = csv.FieldsToString(sa); Console.WriteLine("[{0}]", str); Assert.AreEqual("\"a\",\"b\",\"c\"", str); }