Для Java существует библиотека модульного тестирования, называемая JUnit.В зависимости от вашей IDE, вам придется включить его по-разному, но вот основы.При использовании JUnit вы можете написать несколько тестовых случаев, что предпочтительнее, чем иметь тестовый пример в основной функции, поскольку вы можете лучше организовать тесты.
Если вы используете eclipse, для генерации нового JUnit TestCaseпросто щелкните правой кнопкой мыши исходную папку и выберите: new -> other -> JUnitTestCase, а затем выберите версию JUnit.
В JUnitTestCase все тесты - это функции, аннотированные @Test
, а результаты проверяются с помощью assertEqals,assertArrayEquals, assertNonNull и т. д. Если вы создадите новую исходную папку (назовите ее test или что-то похожее) и создадите ту же структуру пакета, что и в вашей программе, и создадите тесты в том же пакете, что и класс, подлежащий тестированию, вы можете получить доступ кЗакрытые и защищенные члены пакета, но тесты по-прежнему организованы отдельно от основной программы.
Ваш тест выглядел бы так, используя JUnit:
@Test
public void Test_FindAllPairsIfSumToK(){
FindAllPairsIfSumToK findAllPairsIfSumToK = new FindAllPairsIfSumToK();
int[] inputArray1 = {1, 3, 5, 7, 9, 11};
List<Pair> output1 = findAllPairsIfSumToK.findAllPairsWhoseSumIsK(inputArray1, 10);
assertEquals (2, output1.size());
//maybe check if the correct ones are output:
output1.foreach(p -> assertEquals(10, p.value1 + p.value2));
}
Также вы можете объявитьпеременные в паре как public final int
, так что они могут быть доступны из oза пределами пакета и не может быть изменен после создания объекта Pair.