|
| 1 | +import { expect } from 'vitest' |
1 | 2 | import { generate } from '../PascalTriangle'
|
2 | 3 |
|
3 | 4 | describe('Pascals Triangle', () => {
|
4 |
| - it('should have the the same length as the number', () => { |
5 |
| - const pascalsTriangle = generate(5) |
6 |
| - expect(pascalsTriangle.length).toEqual(5) |
7 |
| - }) |
8 |
| - it('should have same length as its index in the array', () => { |
9 |
| - const pascalsTriangle = generate(5) |
| 5 | + it.each([ |
| 6 | + [0, []], |
| 7 | + [1, [[1]]], |
| 8 | + [2, [[1], [1, 1]]], |
| 9 | + [3, [[1], [1, 1], [1, 2, 1]]], |
| 10 | + [4, [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]], |
| 11 | + [5, [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]], [1, 4, 6, 4, 1]] |
| 12 | + ])('check with %j', (input, expected) => { |
| 13 | + const pascalsTriangle = generate(input) |
| 14 | + expect(pascalsTriangle.length).toEqual(input) |
10 | 15 | pascalsTriangle.forEach((arr, index) => {
|
11 | 16 | expect(arr.length).toEqual(index + 1)
|
12 | 17 | })
|
13 |
| - }) |
14 |
| - it('should return an array of arrays', () => { |
15 |
| - const pascalsTriangle = generate(3) |
16 |
| - expect(pascalsTriangle).toEqual( |
17 |
| - expect.arrayContaining([[1], [1, 1], [1, 2, 1]]) |
18 |
| - ) |
| 18 | + expect(pascalsTriangle).toEqual(expect.arrayContaining(expected)) |
19 | 19 | })
|
20 | 20 | })
|
0 commit comments