CsvFieldIndexer: Add tests to Save and Load

This commit is contained in:
2024-02-18 16:30:45 +01:00
parent 9429751e65
commit 52cb729c0e
4 changed files with 153 additions and 81 deletions

View File

@@ -252,4 +252,34 @@ public class CsvFieldIndexerTests
#endregion Search
#region Save & Load
[Fact]
public void Save__TwoLinesWithTwoQuotedColumnsTwoMatchesSave__LoadsCorrectly()
{
// --- Arrange
StringReader sr = new(
"""
"Hélló","Wórld"
"Hélló","Wórld"
""");
// --- Act
CsvFieldIndexer indexer = new();
indexer.GenerateIndex(sr);
MemoryStream stream = new();
indexer.Save(stream);
byte[] savedData = stream.ToArray();
CsvFieldIndexer indexer2 = new();
MemoryStream stream2 = new(savedData);
bool loadResult = indexer2.Load(stream2);
// --- Assert
Assert.True(loadResult);
Assert.Equal(indexer.Index, indexer2.Index);
Assert.Equal(indexer.FieldIndex, indexer2.FieldIndex);
}
#endregion Save & Load
}