我想要一个NUnit格式的one liner,它可以断言两个字典是否相同。也就是说,我想要以下代码的简明版本:
public static void DictionaryAssert<T, U>(Dictionary<T, U> dictionaryResult, Dictionary<T, U> expectedResult)
{
Assert.AreEqual(dictionaryResult.Count, expectedResult.Count);
foreach (var aKey in expectedResult.Keys)
{
Assert.AreEqual(expectedResult[aKey], dictionaryResult[aKey]);
}
}
当然这不是很难,但我找不到参考资料,你有什么想法吗?
发布于 2009-10-30 19:12:25
看看CollectionAssert.AreEquivalent吧。这将断言这两个字典具有相同的内容,但不一定是相同的实例。
发布于 2019-08-20 21:58:48
尝试使用CollectionAssert.AreEqual或CollecitonAssert.AreEquivalent。
两者都会比较集合的项(而不是集合的引用),但是as discussed before,区别在于项在集合中的顺序:
发布于 2010-11-16 11:11:17
您可以使用一个名为Should的库来编写框架不可知断言。它还有一个非常流畅的语法,如果你喜欢流畅的界面,可以使用它。我有一篇与此相关的博客文章。
http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html
https://stackoverflow.com/questions/1649161
复制相似问题