我怎样才能对这种方法进行单元测试
public static ICollection<Person> SelectPersonByCountry(string Country, LinkedList<Person> personList)
{
ICollection<Person> selectedPerson = new List<Person>();
if (Country != String.Empty)
{
foreach (Person item in personList)
{
if (item.Country.ToUpper().Equals(Country.ToUpper()))
{
selectedPerson.Add(item);
}
}
}
else
{
// do something
return null;
}
return selectedPerson;
方法 CollectionAssert.AreEqual() 需要 2 个参数 ICollection 和 ICollection 但我有通用 ICollection。我需要做什么?
public void TestMethod1()
{
string country = "Ukraine";
LinkedList<lab1.Person> personList = new LinkedList<lab1.Person>();
personList.AddFirst(new Person("Dasda", "Sasha", "Ukraine", "23131", "Ukrainian"));
personList.AddFirst(new Person("Sasa", "OLeg", "Ukraine", "23131", "Ukrainian"));
personList.AddFirst(new Person("Popa", "Sveta", "Ukraine", "23131", "Ukrainian"));
personList.AddFirst(new Person("Bezik", "Vitya", "Ukraine", "23131", "Ukrainian"));
personList.AddFirst(new Person("Hoi", "Oleg", "Ukraine", "23131", "Ukrainian"));
ICollection<Person> expected = new LinkedList<Person>();
expected.Add(new Person("Dasda", "Sasha", "Ukraine", "23131", "Ukrainian"));
expected.Add(new Person("Sasa", "OLeg", "Ukraine", "23131", "Ukrainian"));
expected.Add(new Person("Popa", "Sveta", "Ukraine", "23131", "Ukrainian"));
expected.Add(new Person("Bezik", "Vitya", "Ukraine", "23131", "Ukrainian"));
expected.Add(new Person("Hoi", "Oleg", "Ukraine", "23131", "Ukrainian"));
ICollection expected1 = (ICollection)expected;
ICollection actual = (ICollection)lab1.Person.SelectPersonByCountry(country, personList);
CollectionAssert.AreEqual(expected1, actual );
}
我的方法必须像预期的那样返回集合,因为我所有的人都来自“乌克兰”,但测试没有通过..