@@ -8,7 +8,7 @@ namespace UnitTest.AlgorithmsTests
8
8
public class CatalanNumbersTest
9
9
{
10
10
[ Fact ]
11
- public static void DoTest ( )
11
+ public void DoTest ( )
12
12
{
13
13
var list = CatalanNumbers . GetRange ( 0 , 100 ) ;
14
14
var list2 = new List < BigInteger > ( ) ;
@@ -22,5 +22,48 @@ public static void DoTest()
22
22
Assert . True ( list [ ( int ) i ] == list2 [ ( int ) i ] , "Wrong calculation." ) ;
23
23
}
24
24
}
25
+
26
+ // Values retrieved from https://oeis.org/A000108/list.
27
+ [ Theory ]
28
+ [ InlineData ( 0 , "1" ) ]
29
+ [ InlineData ( 1 , "1" ) ]
30
+ [ InlineData ( 2 , "2" ) ]
31
+ [ InlineData ( 3 , "5" ) ]
32
+ [ InlineData ( 4 , "14" ) ]
33
+ [ InlineData ( 5 , "42" ) ]
34
+ [ InlineData ( 6 , "132" ) ]
35
+ [ InlineData ( 7 , "429" ) ]
36
+ [ InlineData ( 8 , "1430" ) ]
37
+ [ InlineData ( 9 , "4862" ) ]
38
+ [ InlineData ( 10 , "16796" ) ]
39
+ [ InlineData ( 11 , "58786" ) ]
40
+ [ InlineData ( 12 , "208012" ) ]
41
+ [ InlineData ( 13 , "742900" ) ]
42
+ [ InlineData ( 14 , "2674440" ) ]
43
+ [ InlineData ( 15 , "9694845" ) ]
44
+ [ InlineData ( 16 , "35357670" ) ]
45
+ [ InlineData ( 17 , "129644790" ) ]
46
+ [ InlineData ( 18 , "477638700" ) ]
47
+ [ InlineData ( 19 , "1767263190" ) ]
48
+ [ InlineData ( 20 , "6564120420" ) ]
49
+ [ InlineData ( 21 , "24466267020" ) ]
50
+ [ InlineData ( 22 , "91482563640" ) ]
51
+ [ InlineData ( 23 , "343059613650" ) ]
52
+ [ InlineData ( 24 , "1289904147324" ) ]
53
+ [ InlineData ( 25 , "4861946401452" ) ]
54
+ [ InlineData ( 26 , "18367353072152" ) ]
55
+ [ InlineData ( 27 , "69533550916004" ) ]
56
+ [ InlineData ( 28 , "263747951750360" ) ]
57
+ [ InlineData ( 29 , "1002242216651368" ) ]
58
+ [ InlineData ( 30 , "3814986502092304" ) ]
59
+ public void ManuallyVerifyCatalanNumber ( uint rank , string value )
60
+ {
61
+ // This conversion seems to be necessary because as of this
62
+ // writing xunit doesn't behave well with BigInteger inline
63
+ // data values.
64
+ var bigint = BigInteger . Parse ( value ) ;
65
+
66
+ Assert . True ( CatalanNumbers . GetNumber ( rank ) == bigint ) ;
67
+ }
25
68
}
26
69
}
0 commit comments