Skip to content

Commit dcad016

Browse files
authored
Merge pull request #137 from QuantStack/ky/nansorttests
Add tests for sorting with NAs
2 parents 00158ff + a0a4aa6 commit dcad016

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/tests/transformExecutors.test.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,27 @@ import { ViewBasedJSONModel } from "../core/viewbasedjsonmodel";
44
import { ReadonlyJSONValue } from '@lumino/coreutils';
55
import { Transform } from "../core/transform";
66

7+
const INVALID_DATE = new Date('INVALID');
8+
79
const sortTestCases: Private.SortTestCase[] = [
810
// Number
911
{ desc: true, dType: 'number', data: [2, 1, 3], expected: [3, 2, 1] },
1012
{ desc: false, dType: 'number', data: [2, 1, 3], expected: [1, 2, 3] },
13+
{ desc: false, dType: 'number', data: [2, null, 3], expected: [2, 3, null] },
14+
{ desc: false, dType: 'number', data: [2, Number.NaN, 3], expected: [2, 3, Number.NaN] },
1115
// String
1216
{ desc: true, dType: 'string', data: ['A', 'C', 'B'], expected: ['C', 'B', 'A'] },
1317
{ desc: false, dType: 'string', data: ['A', 'C', 'B'], expected: ['A', 'B', 'C'] },
18+
{ desc: false, dType: 'string', data: ['A', null, 'B'], expected: ['A', 'B', null] },
1419
// Boolean
1520
{ desc: true, dType: 'boolean', data: [true, false, true], expected: [true, true, false] },
1621
{ desc: false, dType: 'boolean', data: [true, false, true], expected: [false, true, true] },
22+
{ desc: false, dType: 'boolean', data: [true, null, false], expected: [false, true, null] },
1723
// Datetime
1824
{ desc: true, dType: 'datetime', data: ['2019-09-12T18:38:47.431Z', '2019-09-07T18:38:47.431Z', '2019-09-10T18:38:47.431Z'], expected: ['2019-09-12T18:38:47.431Z', '2019-09-10T18:38:47.431Z', '2019-09-07T18:38:47.431Z'] },
19-
{ desc: false, dType: 'daterime', data: ['2019-09-12T18:38:47.431Z', '2019-09-07T18:38:47.431Z', '2019-09-10T18:38:47.431Z'], expected: ['2019-09-07T18:38:47.431Z', '2019-09-10T18:38:47.431Z', '2019-09-12T18:38:47.431Z'] },
25+
{ desc: false, dType: 'datetime', data: ['2019-09-12T18:38:47.431Z', '2019-09-07T18:38:47.431Z', '2019-09-10T18:38:47.431Z'], expected: ['2019-09-07T18:38:47.431Z', '2019-09-10T18:38:47.431Z', '2019-09-12T18:38:47.431Z'] },
26+
{ desc: false, dType: 'datetime', data: ['2019-09-12T18:38:47.431Z', null, '2019-09-10T18:38:47.431Z'], expected: ['2019-09-10T18:38:47.431Z', '2019-09-12T18:38:47.431Z', null] },
27+
{ desc: false, dType: 'datetime', data: ['2019-09-12T18:38:47.431Z', INVALID_DATE, '2019-09-10T18:38:47.431Z'], expected: ['2019-09-10T18:38:47.431Z', '2019-09-12T18:38:47.431Z', INVALID_DATE] },
2028
];
2129

2230
// Run tests

0 commit comments

Comments
 (0)