Nunit断言列表<;SomeObject>;包含唯一值

本文关键字:包含 唯一 gt SomeObject 断言 lt Nunit 列表 | 更新日期: 2023-09-27 18:16:23

假设我们有一个类

class A
{
int num;
string str;
// more methods and data members
}

在nunit测试中,我们如何才能在的线路上做一些事情

List<A> listA = GetUniqueValueList();
CollectionAssert.AllItemsAreUnique(listA, "ListA items should be unique.");

据我所知,AllItemsAreUniqe仅适用于具有值类型的列表。此外,如果两个A对象具有完全相同的成员,则此测试不会失败。

Nunit断言列表<;SomeObject>;包含唯一值

Equality由您可以覆盖的.Equals()的实现确定。对于一个复杂的类型,这不会像你想象的那样开箱即用,所以你必须重写它来解释你的"平等"愿景。

  • 重载Equals的指导原则((
  • 实现Equals方法
  • 如何最好地为自定义类型实现Equals