Страницы

Поиск по вопросам

вторник, 23 октября 2018 г.

Как протестировать метод, который меняет буквы в слове?

Начал вникать в unit test, потренировался на всяких простых арифметических операциях, все понятно. Есть конкретный метод который меняет буквы в слове:
private static char[] exchangeCharInWord(char[] charArray, int first, int last ){ char tmp; tmp=charArray[first]; charArray[first]=charArray[last]; charArray[last]=tmp; return charArray; }
никак не могу понять что мне здесь проверять.Вот начал писать...
public class TestMyClass {
@Test public void test() { MyClass c = new MyClass(); char[] word = {'h', 'e', 'l', 'o'}; int first = 0; int last = word.length-1;
} }


Ответ

Необходимо выделить возможные входные данные метода и результаты работы метода с этими данными. Например, такие тесты:
Тест метода на корректных данных (проверяем, что метод правильно меняет местами символы массива):
public void validInput_shouldSwap() {...}
Тест метода при отрицательных значениях индексов (индекса):
public void negativeIndex_shouldThrow() {...}
Тест метода, если индексы выходят за границы массива:
public void outOfBoundIndexValues_shouldThrow() {...}
В зависимости от реализации метода 2 и 3 тесты можно объединить в один.
Соответственно внутри каждого теста проверяете результаты работы метода с ожидаемыми.

Комментариев нет:

Отправить комментарий