首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NUnit:字典断言

NUnit:字典断言
EN

Stack Overflow用户
提问于 2009-10-30 18:59:49
回答 3查看 12.5K关注 0票数 24

我想要一个NUnit格式的one liner,它可以断言两个字典是否相同。也就是说,我想要以下代码的简明版本:

代码语言:javascript
复制
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]);
    }
}

当然这不是很难,但我找不到参考资料,你有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-30 19:12:25

看看CollectionAssert.AreEquivalent吧。这将断言这两个字典具有相同的内容,但不一定是相同的实例。

票数 36
EN

Stack Overflow用户

发布于 2019-08-20 21:58:48

尝试使用CollectionAssert.AreEqualCollecitonAssert.AreEquivalent

两者都会比较集合的项(而不是集合的引用),但是as discussed before,区别在于项在集合中的顺序:

  • AreEqual -集合必须具有相同的计数,并且在相同的order.
  • AreEquivalent中包含完全相同的项-集合必须包含相同的项,但匹配的顺序可以是任意的。
票数 1
EN

Stack Overflow用户

发布于 2010-11-16 11:11:17

您可以使用一个名为Should的库来编写框架不可知断言。它还有一个非常流畅的语法,如果你喜欢流畅的界面,可以使用它。我有一篇与此相关的博客文章。

http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1649161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档