小さなヘルパー メソッド contentsToArrayList を作成しました。ICollection を実装するオブジェクトを渡すと、元のオブジェクトと同じ要素を含む ArrayList が返されます。別のオブジェクトを渡すと、オブジェクト自体を含む ArrayList が返されます。
次に、メソッドをテストします。私の単体テストは次のようになります (少し省略して、より多くのテスト ケースを含めました)。
//Arrange
int a = 1;
ArrayList aAsArrayList = new ArrayList();
aAsArrayList.Add(a);
List<int> f = new List<int>() { 4, 5, 6 };
ArrayList fAsArrayList = new ArrayList(f);
//Act
ArrayList aReturned = contentsToArrayList(a);
ArrayList fReturned = contentsToArrayList(f);
今、私は自分の主張を書く方法がわかりません。基本的に、aAsArrayList に aReturned と同じオブジェクトが含まれていることを確認したいと考えています。しかし、ArrayList は参照型であるため、値の等価性が定義されているかどうかはわかりません。aReturned == aAsArrayList のようなものを使用して、配列リストを簡単に比較できますか、それとも配列リストの各メンバーを比較する必要がありますか?