You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
return Stream.of(new Object[] {0, 1}, new Object[] {1, 1}, new Object[] {2, 2}, new Object[] {3, 5}, new Object[] {4, 14}, new Object[] {5, 42}, new Object[] {6, 132}, new Object[] {7, 429}, new Object[] {8, 1430}, new Object[] {9, 4862}, new Object[] {10, 16796});
}
/**
* Parameterized test for checking the correctness of Catalan numbers.
* Uses the data from the provider method 'catalanNumbersProvider'.
*/
@ParameterizedTest
@MethodSource("catalanNumbersProvider")
void testCatalanNumbers(int input, int expected) {
assertEquals(expected, CatalanNumbers.catalan(input), () -> String.format("Catalan number for input %d should be %d", input, expected));
}
/**
* Test for invalid inputs which should throw an IllegalArgumentException.