-4

ゴール

2 つの文字列配列が同じであること、具体的には同じ長さで同じ項目が含まれていることを確認してください。

コード

したがって、私の単体テストでは、次のコードがあります。

var sut = new PersonValid();
var expected = new string[] { "Id", "FirstName", "LastName" };

Assert.AreEqual(expected.Length, sut.DataFields.Count);
Assert.AreEqual(0, sut.DataFields.Where(df => !expected.Contains(df)).Count());

動作しますが、実際にはそれほどエレガントではありません。もっと良い方法があるはずですよね?

4

4 に答える 4

5

シーケンスも等しくする必要がある場合は、次のようにします。

使用できますEnumerable.SequenceEqual

var IsEqual = sut.DataFields.SequenceEqual(expected);
于 2013-07-26T14:18:17.163 に答える
1

使用クラスCollectionAssert

var sut = new PersonValid();
var expected = new string[] { "Id", "FirstName", "LastName" };    
CollectionAssert.AreEqual(expected, sut.DataFields)
于 2013-07-26T14:52:15.787 に答える