Цель модульного теста состоит в том, чтобы доказать, что объектный код ведет себя ожидаемым при выполнении.
Первый шаг - написать тест, который подтверждает ожидаемое поведение.
На основе вашего текущего проверить, что это должно выглядеть следующим образом
[TestMethod]
public void Large_Find_Should_Return_Largest_Number_In_Array() {
//arrange
Large subjectUnderTest = new Large(); //Subject under test
int[] myarray = { 3, 5, 1, 7, 3, 8 }; //Known input
int expected = 8; //expected output
//act
int actual = subjectUnderTest.Find(myarray); //exercising the subject under test
//assert
Assert.AreEqual(expected, actual); //verifying/asserting expected behavior
}
Выполнение этого не удастся, доказав, что испытуемый объект неверен.
Имея тест для проверки ожидаемого поведения, теперь вы можете сосредоточиться обратите внимание на исправление логики c тестируемого объекта.
Если вы пройдете текущие логики c в классе Large, вы заметите, что в l oop всегда устанавливается наибольшее к первому элементу в массиве.
//...
for (int i = 0; i < mynumbers.Length; i++) {
if (mynumbers[i] > mylargest) mylargest = mynumbers[0]; <--
}
//..
Я полагаю, что указанный код, предоставленный учителем, был сделан неправильно с целью попытаться выяснить логи c.
Оценить код, попробовать исправить и затем подтвердите поведение с помощью теста и повторите.