我想用我期望的List
断言一个结果List
。我的期望列表看起来像下面的代码
List<GroupOfStuff> expectedResult = new List<GroupOfStuff>();
List<Stuff> stuffList = new List<Stuff>();
Stuff stuff = new Stuff
{
DeliveryDays = 3
};
stuffList.Add(stuff);
GroupOfStuff groupByCountry = new GroupOfStuff
{
Country = "Australia",
StuffDetails = stuffList // List<Stuff> type
};
expectedResult.Add(groupByCountry);
我有实际的List<GroupOfStuff> actual = obj.Result ()
我浏览了这篇文章。但我得到了另一个GroupOfStuff
类,其中包含另一个List
成员。所以,shell会对GroupOfStuff
类的每个成员进行单独的断言,或者建议是什么,shell如何断言它们。
我想这是用于单元测试的?然后,您可以在microsoft.visualstudio.testtools.unittesting.CollectionAssert(https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.collectionassert.aspx)
可以在Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll中找到,因为.net 4.0
我认为您可以为此使用扩展方法Enumerable.SequenceEqual<TSource>()
。如何使用它的小示例:
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void SequenceEqualEx1()
{
Pet pet1 = new Pet { Name = "Turbo", Age = 2 };
Pet pet2 = new Pet { Name = "Peanut", Age = 8 };
// Create two lists of pets.
List<Pet> pets1 = new List<Pet> { pet1, pet2 };
List<Pet> pets2 = new List<Pet> { pet1, pet2 };
bool equal = pets1.SequenceEqual(pets2);
Console.WriteLine(
"The lists {0} equal.",
equal ? "are" : "are not");
}