在NUnit中断言集合与预期集合的顺序相同

时间:2009-06-09 15:54:18

标签: collections nunit assertions

我知道如何检查某个属性是否订购了一个集合:

Assert.That(actual, Is.Ordered.By("Foo"));

如何断言实际按此特定顺序包含元素(1,2,5,3,4)(无需编写自定义比较器)。

1 个答案:

答案 0 :(得分:23)

使用

CollectionAssert.AreEqual(expectedIEnumerable, actualIEnumerable);

这将检查项目是否相同且顺序相同。

我很确定当你使用Assert时。在集合上,你会得到集合断言功能。所以你可以说像

这样的东西
Assert.That(collection, Is.EqualTo(expectedCollection)); // Same order

Assert.That(collection, Is.EquivalentTo(expectedCollection)); // Same item count

以及像

这样的东西
Assert.That(collection, Has.Count.EqualTo(expectedSize));

Has关键字可以打开特定于集合断言的内容,并且非常有用。