static void TestCsvFormatters() { var action = new Action(() => { var test01FilePath = Runtime.GetDesktopFilePath("csv-writer-test-01.csv"); var test02FilePath = Runtime.GetDesktopFilePath("csv-witer-test-02.csv"); var generatedRecords = SampleCsvRecord.CreateSampleSet(100); $"Generated {generatedRecords.Count} sample records.".Info(nameof(TestCsvFormatters)); var savedRecordCount = CsvWriter.SaveRecords(generatedRecords, test01FilePath); $"Saved {savedRecordCount} records (including header) to file: {Path.GetFileName(test01FilePath)}." .Info(nameof(TestCsvFormatters)); var loadedRecords = CsvReader.LoadRecords <SampleCsvRecord>(test01FilePath); $"Loaded {loadedRecords.Count} records from file: {Path.GetFileName(test01FilePath)}.".Info( nameof(TestCsvFormatters)); savedRecordCount = CsvWriter.SaveRecords(generatedRecords, test02FilePath); $"Saved {savedRecordCount} records (including header) to file: {Path.GetFileName(test02FilePath)}." .Info(nameof(TestCsvFormatters)); var sourceObject = loadedRecords[generatedRecords.Count / 2]; var targetObject = new SampleCopyTarget(); var copiedProperties = sourceObject.CopyPropertiesTo(targetObject); $"{nameof(Extensions.CopyPropertiesTo)} method copied {copiedProperties} properties from one object to another" .Info(nameof(TestCsvFormatters)); }); var elapsed = action.Benchmark(); $"Elapsed: {Math.Round(elapsed.TotalMilliseconds, 3)} milliseconds".Trace(); }
public void TempFileFilled_SetStreamLengthToZero() { var tempFile = Path.GetTempFileName(); var generatedRecords = SampleCsvRecord.CreateSampleSet(TotalRows); var dictionaryheaders = new Dictionary <string, string> { { "AccessDate", "20171107" }, { "AlternateId", "1" }, { "CreationDate", "20171107" }, { "Description", "Sr. Software Engineer" }, { "Id", "0001" }, { "IsValidated", "true" }, { "Name", "Alexey Turpalov" }, { "Score", "1245F" }, { "ValidationResult", "true" } }; var stringHeaders = dictionaryheaders.Select(k => k.Key).ToList(); using (var stream = File.OpenWrite(tempFile)) { using (var writer = new CsvWriter(stream)) { writer.WriteHeadings(dictionaryheaders); writer.WriteObjects(stringHeaders); } } CsvWriter.SaveRecords(generatedRecords, tempFile); var valuesInFile = CsvReader.LoadRecords <SampleCsvRecord>(tempFile); Assert.AreEqual(generatedRecords.Count, valuesInFile.Count, "Same length"); }
public void WithNullList_Invalid() { var generatedRecords = SampleCsvRecord.CreateSampleSet(TotalRows); generatedRecords.Add(null); Assert.Throws <ArgumentNullException>(() => CsvWriter.SaveRecords(generatedRecords, new MemoryStream())); }
public void WithObjectList_Valid() { var tempFile = Path.GetTempFileName(); var generatedRecords = SampleCsvRecord.CreateSampleSet(TotalRows); CsvWriter.SaveRecords(generatedRecords, tempFile); var valuesInFile = CsvReader.LoadRecords <SampleCsvRecord>(tempFile); Assert.AreEqual(generatedRecords.Count, valuesInFile.Count, "Same length"); Assert.AreEqual(generatedRecords[0].Name, valuesInFile[0].Name, "Same first name"); }
public void WriteObjectTest() { var tempFile = Path.GetTempFileName(); var generatedRecords = SampleCsvRecord.CreateSampleSet(TotalRows); CsvWriter.SaveRecords(generatedRecords, tempFile); CsvReader.LoadRecords <SampleCsvRecord>(tempFile); generatedRecords.Add(null); Assert.Throws <ArgumentNullException>(() => { CsvWriter.SaveRecords(generatedRecords, tempFile); }); }
public void WriteObjectDynamicObjectTest() { var tempFile = Path.GetTempFileName(); var generatedRecords = SampleCsvRecord.CreateSampleSet(TotalRows); CsvWriter.SaveRecords(generatedRecords, tempFile); var loadedRecords = CsvReader.LoadRecords <SampleCsvRecord>(tempFile); dynamic item = SampleCsvRecord.GetItem(); generatedRecords.Add(item); CsvWriter.SaveRecords(generatedRecords, tempFile); var newloadedRecords = CsvReader.LoadRecords <SampleCsvRecord>(tempFile); Assert.AreNotEqual(loadedRecords, newloadedRecords); }