对集合使用CollectionAssert.Contains

Jon*_*Jon 5 .net c# nunit unit-testing

我想写一些类似的东西:

var list = new List<int>(){1,2,3};
var bigList = new List<int>(){1,2,3,4,5,6,7,8,9};

CollectionAssert.Contains(bigList, list);
Run Code Online (Sandbox Code Playgroud)

我可以得到类似于的错误:

 Expected: collection containing < 1,2,3 >
 But was:  < 1,2,3,4,5,6,7,8,9 >
Run Code Online (Sandbox Code Playgroud)

是否可以对另一个集合使用contains方法?

Hen*_*man 5

签名是

   CollectionAssert.Contains (ICollection collection, Object element) 
Run Code Online (Sandbox Code Playgroud)

它会检查element(单数)是否在内部collection.
它不是检查子列表的方法.

您应该使用:

    CollectionAssert.IsSubsetOf (ICollection subset, ICollection superset) 
Run Code Online (Sandbox Code Playgroud)