Java

Как можно протестировать этот код и понять правильно он работает? JUnit 4. NetBeans.

Использую JUnit 4, задание: Определить те строки, длина которых меньше (больше) средней. на
вход поступает массив String. На выходе – массив String.
Если есть возможность, подскажите как это сделать.

Так вообще не вариант?
if (sost.length() - 1 == 12) {
System.out.println("Average length.");
} else if (sost.length() - 1 > 25) {
System.out.println("Long length.");
}
Jakshylyk Bakaev
Jakshylyk Bakaev
1 787
Вам нужен класс с методом, который принимает аргументом массив строк и возвращает массив строк.
Вроде такого:
 public class MyClass {
public static String[] myMethod(String[] a) {
// Тут идет код тестируемого метода
}
}
Этот метод вы сможете протестировать в другом тестовом классе при помощи JUnit.
Тестирующий метод нужно пометить аннотацией @Test.

Например:
 public class MyTestClass { 
@Test
public void test1() {
// Тут код теста
}
}
Можно придумать тестовый массив, подать его в метод и прикинуть, что должен вернуть ваш метод.
Например, метод должен вернуть строки, длина которых меньше средней.

Исходный массив:
 String[] a = new String[] {"каждый", "охотник", "желает", "знать", "где", "сидит", "фазан"}; 
Всего 38 букв во всех строках массива. 7 строк.
Средняя длина одной строки: (double) 38 / 7 ≈ 5,429.
В итоговый массив должны попасть строки длиной 5 или короче.

Ожидаемый результат:
 String[] expected = new String[] {"знать", "где", "сидит", "фазан"};  
Фактический результат — получаем путем вызова метода, который мы тестируем:
 String[] actual = MyClass.myMethod(a); 
Дальше сверяем ожидаемый массив с фактическим:
 Assert.assertEquals(expected, actual); 
Если массивы не совпадут, тест рухнет и будет помечен красным.
В этом случае нужно либо исправлять тестируемый метод, либо исправлять тест — в зависимости от того, где находится ошибка.
БР
Борис Рубанов
74 813
Лучший ответ
код с недочетом, он проигнорирует все длины от 0 до 11 и от 13 до 25
Jakshylyk Bakaev Точно, спасибо за подсказку, потом что-то придумаю
никак