@@ -19,7 +19,8 @@ class CatalanNumbersTest {
1919 * [input number, expected Catalan number for that input]
2020 */
2121 static Stream <Object []> catalanNumbersProvider () {
22- 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 });
22+ return Stream .of (new Object [] {0 , 1L }, new Object [] {1 , 1L }, new Object [] {2 , 2L }, new Object [] {3 , 5L }, new Object [] {4 , 14L }, new Object [] {5 , 42L }, new Object [] {6 , 132L }, new Object [] {7 , 429L }, new Object [] {8 , 1430L }, new Object [] {9 , 4862L }, new Object [] {10 , 16796L },
23+ new Object [] {11 , 58786L }, new Object [] {15 , 9694845L }, new Object [] {35 , 3116285494907301262L });
2324 }
2425
2526 /**
@@ -28,7 +29,7 @@ static Stream<Object[]> catalanNumbersProvider() {
2829 */
2930 @ ParameterizedTest
3031 @ MethodSource ("catalanNumbersProvider" )
31- void testCatalanNumbers (int input , int expected ) {
32+ void testCatalanNumbers (int input , long expected ) {
3233 assertEquals (expected , CatalanNumbers .catalan (input ), () -> String .format ("Catalan number for input %d should be %d" , input , expected ));
3334 }
3435
@@ -39,5 +40,6 @@ void testCatalanNumbers(int input, int expected) {
3940 void testIllegalInput () {
4041 assertThrows (IllegalArgumentException .class , () -> CatalanNumbers .catalan (-1 ));
4142 assertThrows (IllegalArgumentException .class , () -> CatalanNumbers .catalan (-5 ));
43+ assertThrows (IllegalArgumentException .class , () -> CatalanNumbers .catalan (36 ));
4244 }
4345}
0 commit comments