Я пытаюсь создать тест для метода, который передается массивом int [] AllNumbers и возвращает массив int [] только EvenNumbers. Хотя отладка теста показывает мне, что Expected
и Actual
те же тесты, которые все еще не выполняются. Я предполагаю, что это проблема .Equals
против ==
?C# TDD Тестирование массива [int] не работает должным образом
Ошибка:
Failed TestEvenNumbers CalculatorEngineTests Assert.AreEqual failed. Expected:<System.Int32[]>. Actual:<System.Int32[]>.
Это мой тест:
[TestMethod]
public void TestEvenNumbers()
{
Calculator target = new Calculator();
int[] test = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] expected = { 2, 4, 6, 8 };
int[] actual = target.GetEvenNumbers(test);
//This passes
Assert.AreEqual(expected[1], actual[1]);
//This fails
Assert.AreEqual(expected, actual);
}
Это метод, который я хочу, чтобы тест:
public int[] GetEvenNumbers(int[] arr)
{
var evenNums =
from num in arr
where num % 2 == 0
select num;
return evenNums.ToArray<int>();
}
Благодарим за помощь. :) –