これを使用している場合はNUnit
、ドキュメントに記載されています
バージョン 2.2 以降では、1 次元配列を比較するための特別な準備も行われています。2 つの配列は、長さが同じで、対応する各要素が等しい場合、Assert.AreEqual によって等しいと見なされます。注: 多次元配列、ネストされた配列 (配列の配列)、および ArrayList などのその他のコレクション型は現在サポートされていません。
一般に、2 つのオブジェクトを比較していて、値に基づいて同等にしたい場合は、Equals
メソッドをオーバーライドする必要があります。
探しているものを達成するには、次のようなことを試してください。
class Person
{
public string Firstname {get; set;}
public string Lastname {get; set;}
public override bool Equals(object other)
{
var toCompareWith = other as Person;
if (toCompareWith == null)
return false;
return this.Firstname == toCompareWith.Firstname &&
this.Lastname == toCompareWith.Lastname;
}
}
そしてあなたの単体テストで:
Assert.AreEqual(expectedList.ToArray(), actualList.ToArray());