你知道我怎么能断言两个类型
的词典Dictionary<string,List<string>>
在我的单元测试项目中?
我尝试使用CollectionsAssert,但它并没有为我工作。我想这需要简单的字典作为参数(例如Dictionary<string,string>
)。我想我的问题来自字典的第二个参数。你知道我怎么能断言这两个词典吗?
答案 0 :(得分:10)
使用Linq:
Dictionary.All(e => AnotherDictionary.Contains(e))
答案 1 :(得分:8)
可以为您提供良好错误消息的方法之一:
public string ToAssertableString(IDictionary<string,List<string>> dictionary) {
var pairStrings = dictionary.OrderBy(p => p.Key)
.Select(p => p.Key + ": " + string.Join(", ", p.Value));
return string.Join("; ", pairStrings);
}
// ...
Assert.AreEqual(ToAssertableString(dictionary1), ToAssertableString(dictionary2));