Написание тестовых случаев для моего проекта, один тест, который мне нужен, это тест на удаление. Возможно, это не совсем правильный путь, но я наткнулся на то, что не имеет смысла для меня.
Код такой:
[Test]
private void DeleteFruit()
{
BuildTestData();
var f1 = new Fruit("Banana",1,1.5);
var f2 = new Fruit("Apple",1,1.5);
fm.DeleteFruit(f1,listOfFruit);
Assert.That(listOfFruit[1] == f2);
}
Теперь фруктовый объект, который я создаю, строка 5 - это объект, который, как я знаю, должен находиться в этой позиции (с этим конкретным набором данных) после удаления f1.
Также, если я сижу, отлаживаю и вручную сравниваю объекты listOfFruit [1] и f2, они совпадают. Но эта линия Утверждения терпит неудачу. Что дает?
редактирование:
Получение следующего:
- Assert.Equals
не следует использовать для утверждений
Assert.AreEqual(fruit1, fruit2); Failed: Expected <FruitProject.Fruit> But was: <FruitProject.Fruit>
-Both fruit1.Equals(fruit2)
и fruit1==fruit2
fail ??