1 | import { unstack } from '../src';
|
2 | import { RowData } from '../src/util/helper';
|
3 |
|
4 | const rows: RowData[] = [
|
5 | { d1: 'one', d2: 'a', m1: 1, m2: 3 },
|
6 | { d1: 'one', d2: 'b', m1: 2, m2: 4 },
|
7 | { d1: 'two', d2: 'a', m1: 5, m2: 6 },
|
8 | { d1: 'two', d2: 'b', m1: 7, m2: 8 },
|
9 | ];
|
10 |
|
11 | test('basic', () => {
|
12 | expect(unstack(rows, 'd2', ['m1', 'm2'])).toEqual([
|
13 | { d1: 'one', m1_a: 1, m1_b: 2, m2_a: 3, m2_b: 4 },
|
14 | { d1: 'two', m1_a: 5, m1_b: 7, m2_a: 6, m2_b: 8 },
|
15 | ]);
|
16 | });
|
17 |
|
18 | test('measure used as dim', () => {
|
19 | expect(unstack(rows, 'd2', ['m1'])).toEqual([
|
20 | { d1: 'one', m1_a: 1, m2: 3 },
|
21 | { d1: 'one', m1_b: 2, m2: 4 },
|
22 | { d1: 'two', m1_a: 5, m2: 6 },
|
23 | { d1: 'two', m1_b: 7, m2: 8 },
|
24 | ]);
|
25 | });
|
26 |
|
27 | const rows2: RowData[] = [
|
28 | { d1: 'one', d2: 'a', m1: 1 },
|
29 | { d1: 'one', d2: 'b', m1: 2 },
|
30 | { d1: 'two', d2: 'a', m1: 5 },
|
31 | { d1: 'three', d2: 'b', m1: 7 },
|
32 | ];
|
33 |
|
34 | test('can null', () => {
|
35 | expect(unstack(rows2, 'd2', ['m1'])).toEqual([
|
36 | { d1: 'one', m1_a: 1, m1_b: 2 },
|
37 | { d1: 'two', m1_a: 5 },
|
38 | { d1: 'three', m1_b: 7 },
|
39 | ]);
|
40 | });
|