1
- using System ;
2
- using System . Collections . Generic ;
3
- using System . Linq ;
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
4
3
using Xunit ;
4
+ using System ;
5
5
6
6
public class PascalsTriangleTest
7
7
{
8
8
[ Fact ]
9
- public void One_row ( )
9
+ public void Zero_rows ( )
10
+ {
11
+ Assert . Empty ( PascalsTriangle . Calculate ( 0 ) ) ;
12
+ }
13
+
14
+ [ Fact ( Skip = "Remove to run test" ) ]
15
+ public void Single_row ( )
10
16
{
11
- var actual = PascalsTriangle . Calculate ( 1 ) ;
12
17
var expected = new [ ] { new [ ] { 1 } } ;
13
- Assert . Equal ( expected , actual , NestedEnumerableEqualityComparer < int > . Instance ) ;
18
+ Assert . Equal ( expected , PascalsTriangle . Calculate ( 1 ) ) ;
14
19
}
15
-
20
+
16
21
[ Fact ( Skip = "Remove to run test" ) ]
17
22
public void Two_rows ( )
18
23
{
19
- var actual = PascalsTriangle . Calculate ( 2 ) . ToArray ( ) ;
20
24
var expected = new [ ] { new [ ] { 1 } , new [ ] { 1 , 1 } } ;
21
- Assert . Equal ( expected , actual , NestedEnumerableEqualityComparer < int > . Instance ) ;
25
+ Assert . Equal ( expected , PascalsTriangle . Calculate ( 2 ) ) ;
22
26
}
23
27
24
28
[ Fact ( Skip = "Remove to run test" ) ]
25
29
public void Three_rows ( )
26
30
{
27
- var actual = PascalsTriangle . Calculate ( 3 ) ;
28
31
var expected = new [ ] { new [ ] { 1 } , new [ ] { 1 , 1 } , new [ ] { 1 , 2 , 1 } } ;
29
- Assert . Equal ( expected , actual , NestedEnumerableEqualityComparer < int > . Instance ) ;
32
+ Assert . Equal ( expected , PascalsTriangle . Calculate ( 3 ) ) ;
30
33
}
31
34
32
35
[ Fact ( Skip = "Remove to run test" ) ]
33
36
public void Four_rows ( )
34
37
{
35
- var actual = PascalsTriangle . Calculate ( 4 ) ;
36
38
var expected = new [ ] { new [ ] { 1 } , new [ ] { 1 , 1 } , new [ ] { 1 , 2 , 1 } , new [ ] { 1 , 3 , 3 , 1 } } ;
37
- Assert . Equal ( expected , actual , NestedEnumerableEqualityComparer < int > . Instance ) ;
38
- }
39
-
40
- [ Fact ( Skip = "Remove to run test" ) ]
41
- public void Five_rows ( )
42
- {
43
- var actual = PascalsTriangle . Calculate ( 5 ) ;
44
- var expected = new [ ] { new [ ] { 1 } , new [ ] { 1 , 1 } , new [ ] { 1 , 2 , 1 } , new [ ] { 1 , 3 , 3 , 1 } , new [ ] { 1 , 4 , 6 , 4 , 1 } } ;
45
- Assert . Equal ( expected , actual , NestedEnumerableEqualityComparer < int > . Instance ) ;
39
+ Assert . Equal ( expected , PascalsTriangle . Calculate ( 4 ) ) ;
46
40
}
47
41
48
42
[ Fact ( Skip = "Remove to run test" ) ]
49
- public void Twenty_rows ( )
43
+ public void Negative_rows ( )
50
44
{
51
- var actual = PascalsTriangle . Calculate ( 20 ) . Last ( ) ;
52
- var expected = new [ ] { 1 , 19 , 171 , 969 , 3876 , 11628 , 27132 , 50388 , 75582 , 92378 , 92378 , 75582 , 50388 , 27132 , 11628 , 3876 , 969 , 171 , 19 , 1 } ;
53
- Assert . Equal ( expected , actual ) ;
54
- }
55
-
56
- private class EnumerableEqualityComparer < T > : IEqualityComparer < IEnumerable < T > >
57
- {
58
- public static readonly EnumerableEqualityComparer < T > Instance = new EnumerableEqualityComparer < T > ( ) ;
59
-
60
- public bool Equals ( IEnumerable < T > x , IEnumerable < T > y ) => x . SequenceEqual ( y ) ;
61
-
62
- public int GetHashCode ( IEnumerable < T > obj )
63
- {
64
- throw new NotImplementedException ( ) ;
65
- }
66
- }
67
-
68
- private class NestedEnumerableEqualityComparer < T > : IEqualityComparer < IEnumerable < IEnumerable < T > > >
69
- {
70
- public static readonly NestedEnumerableEqualityComparer < T > Instance = new NestedEnumerableEqualityComparer < T > ( ) ;
71
-
72
- public bool Equals ( IEnumerable < IEnumerable < T > > x , IEnumerable < IEnumerable < T > > y )
73
- => x . SequenceEqual ( y , EnumerableEqualityComparer < T > . Instance ) ;
74
-
75
- public int GetHashCode ( IEnumerable < IEnumerable < T > > obj )
76
- {
77
- throw new NotImplementedException ( ) ;
78
- }
45
+ Assert . Throws < ArgumentOutOfRangeException > ( ( ) => PascalsTriangle . Calculate ( - 1 ) ) ;
79
46
}
80
47
}
0 commit comments