|
1 | | -import { generateGrayCodes } from '../GrayCodes.js' |
| 1 | +import { generateGrayCodes } from '../GrayCodes.js' |
2 | 2 |
|
3 | | -/** |
4 | | - * Test cases for the generateGrayCodes function. |
5 | | - */ |
6 | | -consttestCases=[ |
7 | | - {n: 0,expected: [0]}, |
8 | | - {n: 1,expected: [0,1]}, |
9 | | - {n: 2,expected: [0,1,3,2]}, |
10 | | - {n: 3,expected: [0,1,3,2,6,7,5,4]}, |
11 | | - {n: 4,expected: [0,1,3,2,6,7,5,4,12,13,15,14,10,11,9,8]}, |
12 | | -]; |
13 | | - |
14 | | -testCases.forEach(({ n, expected })=>{ |
15 | | - test(`Generate Gray codes for n=${n}`,()=>{ |
16 | | - constgrayCodes=generateGrayCodes(n); |
17 | | - expect(grayCodes).toEqual(expected); |
18 | | - }); |
19 | | -}); |
| 3 | +describe('Gray codes',()=>{ |
| 4 | + test.each([ |
| 5 | + [0,[0b0]], |
| 6 | +[1,[0b0,0b1]], |
| 7 | + [2,[0b00,0b01,0b11,0b10]], |
| 8 | + [3,[0b000,0b001,0b011,0b010,0b110,0b111,0b101,0b100]], |
| 9 | + [ |
| 10 | + 4, |
| 11 | + [ |
| 12 | +0b0000,0b0001,0b0011,0b0010,0b0110,0b0111,0b0101,0b0100,0b1100, |
| 13 | +0b1101,0b1111,0b1110,0b1010,0b1011,0b1001,0b1000 |
| 14 | +] |
| 15 | + ] |
| 16 | + ])('n = %i -> %j',(n,expected)=>{ |
| 17 | + expect(generateGrayCodes(n)).toEqual(expected) |
| 18 | + }) |
| 19 | +}) |
0 commit comments