Вопрос
Может ли кто-нибудь сказать мне, почему мой unit test не работает с этим сообщением об ошибке?
CollectionAssert.AreEquivalent не удалось. Ожидаемая коллекция содержит 1 появление (s) of. Настоящий коллекция содержит 0 появление (s).
Цель
Я хотел бы проверить, идентичны ли два списка. Они идентичны, если оба содержат одни и те же элементы с одинаковыми значениями свойств. Порядок не имеет значения.
Пример кода:
Это код, который вызывает ошибку. list1
и list2
идентичны, то есть копировать-вставить друг друга.
[TestMethod]
public void TestListOfT()
{
var list1 = new List<MyPerson>()
{
new MyPerson()
{
Name = "A",
Age = 20
},
new MyPerson()
{
Name = "B",
Age = 30
}
};
var list2 = new List<MyPerson>()
{
new MyPerson()
{
Name = "A",
Age = 20
},
new MyPerson()
{
Name = "B",
Age = 30
}
};
CollectionAssert.AreEquivalent(list1.ToList(), list2.ToList());
}
public class MyPerson
{
public string Name { get; set; }
public int Age { get; set; }
}
Я также пробовал эту строку (источник)
CollectionAssert.AreEquivalent(list1.ToList(), list2.ToList());
и эта строка (источник)
CollectionAssert.AreEquivalent(list1.ToArray(), list2.ToArray());
P.S.
Связанные вопросы:
Я видел оба этих вопроса, но ответы не помогли.