Unit testing 取消IEnumerables的'Assert.AreEqual'和'CollectionAssert.AreEqual'之间的差异

Unit testing 取消IEnumerables的'Assert.AreEqual'和'CollectionAssert.AreEqual'之间的差异,unit-testing,nunit,ienumerable,Unit Testing,Nunit,Ienumerable,在努尼特,两者之间有什么区别吗 Assert.AreEqual(IEnumerable<T>, IEnumerable<T>) Assert.AreEqual(IEnumerable,IEnumerable) 及 CollectionAssert.AreEqual(IEnumerable,IEnumerable) ?没有重载Assert.AreEqual(IEnumerable,IEnumerable),只有Assert.AreEqual(object,object

在努尼特,两者之间有什么区别吗

Assert.AreEqual(IEnumerable<T>, IEnumerable<T>)
Assert.AreEqual(IEnumerable,IEnumerable)

CollectionAssert.AreEqual(IEnumerable,IEnumerable)

没有重载
Assert.AreEqual(IEnumerable,IEnumerable)
,只有
Assert.AreEqual(object,object)
。至少对于
nunit
2.5.10,它们的实现是相同的:

CollectionAssert.cs Assert.cs
CollectionAssert.AreEqual(IEnumerable<T>, IEnumerable<T>)
public class CollectionAssert
{
    public static void AreEqual(IEnumerable expected, IEnumerable actual)
    {
      Assert.That((object) actual, (IResolveConstraint) new EqualConstraint((object) expected));
    }
}
public class Assert
{
    public static void AreEqual(object expected, object actual)
    {
      // EqualConstraint EqualTo(object expected)
      Assert.That(actual, (IResolveConstraint) Is.EqualTo(expected), (string) null, (object[]) null);
    }
}