Implemented CSVStorage
This commit is contained in:
2 files changed
+200
No files matched your search
@@ -1,4 +1,5 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using CSV_Metrics_Logger;
|
||||
|
||||
namespace Tests;
|
||||
|
||||
@@ -81,4 +82,39 @@ public sealed class Tests
|
||||
Assert.That(dataLine, Is.EquivalentTo(new[] { "New York", "35", "1.85" }));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestWritingCSV()
|
||||
{
|
||||
List<TestDataOneLine> testData =
|
||||
[
|
||||
new TestDataOneLine("Name 1", 14),
|
||||
new TestDataOneLine("Name 2", 25),
|
||||
new TestDataOneLine("Name 3", 36),
|
||||
new TestDataOneLine("Name 4", 47),
|
||||
new TestDataOneLine("Name 5", 58),
|
||||
];
|
||||
|
||||
// Get a random file:
|
||||
var fileName = Path.GetTempFileName();
|
||||
await using (var storage = CSVStorage<TestDataOneLine>.Create(fileName))
|
||||
{
|
||||
foreach (var data in testData)
|
||||
storage.Write(data);
|
||||
}
|
||||
|
||||
var lines = await File.ReadAllLinesAsync(fileName);
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(lines, Has.Length.EqualTo(6));
|
||||
Assert.That(lines[0], Is.EqualTo("Name;Age"));
|
||||
Assert.That(lines[1], Is.EqualTo("\"Name 1\";14"));
|
||||
Assert.That(lines[2], Is.EqualTo("\"Name 2\";25"));
|
||||
Assert.That(lines[3], Is.EqualTo("\"Name 3\";36"));
|
||||
Assert.That(lines[4], Is.EqualTo("\"Name 4\";47"));
|
||||
Assert.That(lines[5], Is.EqualTo("\"Name 5\";58"));
|
||||
});
|
||||
|
||||
File.Delete(fileName);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user