Написание тестовых случаев для моего проекта, один тест, который мне нужен, — это проверить удаление. Это может быть не совсем правильный способ сделать это, но я наткнулся на что-то, что не имеет для меня смысла.
Код такой:
[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 терпит неудачу. Что дает?
изменить:
Получение следующего:
-Assert.Equals
не следует использовать для утверждений
-Assert.AreEqual(fruit1, fruit2); Failed: Expected <FruitProject.Fruit> But was: <FruitProject.Fruit>
-Оба fruit1.Equals(fruit2)
и fruit1==fruit2
не работают ??
Assert.Equals should not be used for Assertions
... что? - person baron   schedule 06.05.2010Assert.AreEqual(fruit1, fruit2);
Failed: Ожидается ‹FruitProject.Fruit› Но было: ‹FruitProject.Fruit› снова эта ссылка для сравнения - person baron   schedule 07.05.2010fruit1.Equals(fruit2)
иfruit1==fruit2
не работают ?? - person baron   schedule 07.05.2010