public void CsvComparisonDataErrorsTest() { var errorExpectation = new Dictionary <string, string> { { "D1 [Stream3/Key]", "[Stream3] missing (Missing)" }, { "C2 [Stream2/Attr1]", "101.1 != 100 (Delta:1.1, 1.1 %, OutsideToleranceIssue)" }, { "D2 [Stream3/Attr1]", "[3900] missing (Missing)" }, { "A3 [Key/Attr2]", "[Attr4] expected [Attr2] (ValueIssue)" }, { "B3 [Stream1/Attr2]", "[n/a] expected [2] (ValueIssue)" }, { "C3 [Stream2/Attr2]", "[0] expected [n/a] (ValueIssue)" }, { "D3 [Stream3/Attr2]", "[n/a] missing (Missing)" }, { "A4 [Key/Attr3]", "[Attr3] missing (Missing)" }, { "B4 [Stream1/Attr3]", "[] missing (Missing)" }, { "C4 [Stream2/Attr3]", "[Vapor] missing (Missing)" }, { "D4 [Stream3/Attr3]", "[Liquid] missing (Missing)" } }; var result = _csvComparison.Errors(); Assert.AreEqual(errorExpectation.Count, result.Count, "Same number of errors"); foreach (var pair in errorExpectation) { Assert.IsTrue(result.TryGetValue(pair.Key, out var value)); Assert.AreEqual(pair.Value, value, "Value for " + pair.Key); } }