Skip to content

Commit 3908aa5

Browse files
committed
test: migrate to flat vitest structure with node: imports
1 parent 02f4ca3 commit 3908aa5

3 files changed

Lines changed: 162 additions & 151 deletions

File tree

src/__tests__/__snapshots__/conrec.test.ts.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
22

3-
exports[`conrec basic test > auto select levels 1`] = `
3+
exports[`auto select levels 1`] = `
44
[
55
167.3376920421198,
66
182.66230795788022,
@@ -37,7 +37,7 @@ exports[`conrec basic test > auto select levels 1`] = `
3737
]
3838
`;
3939

40-
exports[`conrec basic test > auto select levels with swapAxes 1`] = `
40+
exports[`auto select levels with swapAxes 1`] = `
4141
[
4242
182.66230795788022,
4343
167.3376920421198,

src/__tests__/conrec.test.ts

Lines changed: 88 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,108 @@
1-
import fs from 'fs';
1+
import { readFileSync } from 'node:fs';
2+
import { join } from 'node:path';
23

3-
import { NumberMatrix } from 'cheminfo-types';
4+
import type { NumberMatrix } from 'cheminfo-types';
45
import { convert } from 'jcampconverter';
5-
import { describe, it, expect } from 'vitest';
6+
import { expect, test } from 'vitest';
67

7-
import { Conrec } from '..';
8+
import { Conrec } from '../index.ts';
89

9-
const data = fs.readFileSync(`${__dirname}/data/zhmbc_0.jdx`, 'utf8');
10+
const data = readFileSync(
11+
join(import.meta.dirname, 'data/zhmbc_0.jdx'),
12+
'utf8',
13+
);
1014
const parsed = convert(data, { noContour: true }).flatten[0];
1115
const matrix: NumberMatrix = parsed.minMax?.z || [];
12-
describe('conrec basic test', () => {
13-
it('no result because level too far', () => {
14-
const conrec = new Conrec(matrix);
15-
const { contours, timeout } = conrec.drawContour({
16-
contourDrawer: 'basic',
17-
levels: [-1000000000, 1000000000],
18-
timeout: 10000,
19-
});
20-
expect(timeout).toBeFalsy();
21-
expect(contours).toStrictEqual([
22-
{ lines: [], zValue: -1000000000 },
23-
{ lines: [], zValue: 1000000000 },
24-
]);
16+
17+
test('no result because level too far', () => {
18+
const conrec = new Conrec(matrix);
19+
const { contours, timeout } = conrec.drawContour({
20+
contourDrawer: 'basic',
21+
levels: [-1000000000, 1000000000],
22+
timeout: 10000,
2523
});
2624

27-
it('2 specified levels', () => {
28-
const conrec = new Conrec(matrix);
29-
const { contours, timeout } = conrec.drawContour({
30-
contourDrawer: 'basic',
31-
levels: [-100000, 100000],
32-
timeout: 10000,
33-
});
34-
expect(timeout).toBeFalsy();
35-
expect(contours).toHaveLength(2);
36-
expect(contours[0].lines).toHaveLength(36864);
37-
expect(contours[1].lines).toHaveLength(119720);
25+
expect(timeout).toBe(false);
26+
expect(contours).toStrictEqual([
27+
{ lines: [], zValue: -1000000000 },
28+
{ lines: [], zValue: 1000000000 },
29+
]);
30+
});
31+
32+
test('2 specified levels', () => {
33+
const conrec = new Conrec(matrix);
34+
const { contours, timeout } = conrec.drawContour({
35+
contourDrawer: 'basic',
36+
levels: [-100000, 100000],
37+
timeout: 10000,
3838
});
3939

40-
it('no levels', () => {
41-
const conrec = new Conrec(matrix);
42-
const start = Date.now();
43-
const { contours, timeout } = conrec.drawContour({
44-
contourDrawer: 'basic',
45-
levels: [],
46-
timeout: 10000,
47-
});
48-
expect(Date.now() - start).toBeLessThan(25);
49-
expect(timeout).toBeFalsy();
50-
expect(contours).toHaveLength(0);
40+
expect(timeout).toBe(false);
41+
expect(contours).toHaveLength(2);
42+
expect(contours[0].lines).toHaveLength(36864);
43+
expect(contours[1].lines).toHaveLength(119720);
44+
});
45+
46+
test('no levels', () => {
47+
const conrec = new Conrec(matrix);
48+
const start = Date.now();
49+
const { contours, timeout } = conrec.drawContour({
50+
contourDrawer: 'basic',
51+
levels: [],
52+
timeout: 10000,
5153
});
5254

53-
it('auto select levels', () => {
54-
const conrec = new Conrec(matrix);
55-
const { contours, timeout } = conrec.drawContour({
56-
contourDrawer: 'basic',
57-
nbLevels: 10,
58-
timeout: 10000,
59-
});
55+
expect(Date.now() - start).toBeLessThan(25);
56+
expect(timeout).toBe(false);
57+
expect(contours).toHaveLength(0);
58+
});
6059

61-
expect(timeout).toBeFalsy();
62-
expect(contours).toHaveLength(10);
63-
expect(contours[0].lines).toHaveLength(0);
64-
expect(contours[1].lines).toHaveLength(4984);
65-
expect(contours[8].lines).toHaveLength(32);
66-
expect(contours[8].lines).toMatchSnapshot();
67-
expect(contours[9].lines).toHaveLength(0);
60+
test('auto select levels', () => {
61+
const conrec = new Conrec(matrix);
62+
const { contours, timeout } = conrec.drawContour({
63+
contourDrawer: 'basic',
64+
nbLevels: 10,
65+
timeout: 10000,
6866
});
6967

70-
it('auto select levels with swapAxes', () => {
71-
const conrec = new Conrec(matrix, { swapAxes: true });
72-
const { contours, timeout } = conrec.drawContour({
73-
contourDrawer: 'basic',
74-
nbLevels: 10,
75-
timeout: 10000,
76-
});
68+
expect(timeout).toBe(false);
69+
expect(contours).toHaveLength(10);
70+
expect(contours[0].lines).toHaveLength(0);
71+
expect(contours[1].lines).toHaveLength(4984);
72+
expect(contours[8].lines).toHaveLength(32);
73+
expect(contours[8].lines).toMatchSnapshot();
74+
expect(contours[9].lines).toHaveLength(0);
75+
});
7776

78-
expect(timeout).toBeFalsy();
79-
expect(contours).toHaveLength(10);
80-
expect(contours[0].lines).toHaveLength(0);
81-
expect(contours[1].lines).toHaveLength(4984);
82-
expect(contours[8].lines).toHaveLength(32);
83-
expect(contours[8].lines).toMatchSnapshot();
84-
expect(contours[9].lines).toHaveLength(0);
77+
test('auto select levels with swapAxes', () => {
78+
const conrec = new Conrec(matrix, { swapAxes: true });
79+
const { contours, timeout } = conrec.drawContour({
80+
contourDrawer: 'basic',
81+
nbLevels: 10,
82+
timeout: 10000,
8583
});
8684

87-
it('return available contours within 100ms', () => {
88-
const conrec = new Conrec(matrix);
89-
const { contours, timeout } = conrec.drawContour({
90-
contourDrawer: 'basic',
91-
nbLevels: 10,
92-
timeout: 10,
93-
});
94-
expect(timeout).toBeTruthy();
95-
expect(contours).toHaveLength(10);
96-
expect(contours[0].lines).toHaveLength(0);
97-
expect(contours[1].lines.length).toBeLessThan(2000);
98-
expect(contours[8].lines).toHaveLength(0);
99-
expect(contours[9].lines).toHaveLength(0);
85+
expect(timeout).toBe(false);
86+
expect(contours).toHaveLength(10);
87+
expect(contours[0].lines).toHaveLength(0);
88+
expect(contours[1].lines).toHaveLength(4984);
89+
expect(contours[8].lines).toHaveLength(32);
90+
expect(contours[8].lines).toMatchSnapshot();
91+
expect(contours[9].lines).toHaveLength(0);
92+
});
93+
94+
test('return available contours within 100ms', () => {
95+
const conrec = new Conrec(matrix);
96+
const { contours, timeout } = conrec.drawContour({
97+
contourDrawer: 'basic',
98+
nbLevels: 10,
99+
timeout: 10,
100100
});
101+
102+
expect(timeout).toBe(true);
103+
expect(contours).toHaveLength(10);
104+
expect(contours[0].lines).toHaveLength(0);
105+
expect(contours[1].lines.length).toBeLessThan(2000);
106+
expect(contours[8].lines).toHaveLength(0);
107+
expect(contours[9].lines).toHaveLength(0);
101108
});

src/__tests__/shape.test.ts

Lines changed: 72 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,97 @@
1-
import { describe, it, expect } from 'vitest';
1+
import { expect, test } from 'vitest';
22

3-
import { Conrec } from '..';
3+
import { Conrec } from '../index.ts';
44

5-
describe('shape', () => {
6-
it('square', () => {
7-
const matrix = parse(`
8-
00000
9-
01110
10-
01110
11-
01110
12-
00000
13-
`);
5+
test('square', () => {
6+
const matrix = parse(`
7+
00000
8+
01110
9+
01110
10+
01110
11+
00000
12+
`);
1413

15-
const conrec = new Conrec(matrix);
16-
const { contours, timeout } = conrec.drawContour({
17-
contourDrawer: 'shape',
18-
levels: [0.5],
19-
});
20-
expect(timeout).toBeFalsy();
21-
expect(contours[0].lines).toHaveLength(25);
14+
const conrec = new Conrec(matrix);
15+
const { contours, timeout } = conrec.drawContour({
16+
contourDrawer: 'shape',
17+
levels: [0.5],
2218
});
2319

24-
it('2 squares', () => {
25-
const matrix = parse(`
26-
000000000
27-
011101110
28-
011101110
29-
011101110
30-
000000000
31-
`);
20+
expect(timeout).toBe(false);
21+
expect(contours[0].lines).toHaveLength(25);
22+
});
3223

33-
const conrec = new Conrec(matrix);
34-
const { contours, timeout } = conrec.drawContour({
35-
contourDrawer: 'shape',
36-
levels: [0.5],
37-
});
24+
test('2 squares', () => {
25+
const matrix = parse(`
26+
000000000
27+
011101110
28+
011101110
29+
011101110
30+
000000000
31+
`);
3832

39-
expect(timeout).toBeFalsy();
40-
expect(contours[0].lines).toHaveLength(25);
33+
const conrec = new Conrec(matrix);
34+
const { contours, timeout } = conrec.drawContour({
35+
contourDrawer: 'shape',
36+
levels: [0.5],
4137
});
4238

43-
it('2 diagonal squares', () => {
44-
const matrix = parse(`
45-
000000000
46-
011100000
47-
011100000
48-
011100000
49-
000011100
50-
000011100
51-
000011100
52-
000000000
53-
`);
39+
expect(timeout).toBe(false);
40+
expect(contours[0].lines).toHaveLength(25);
41+
});
42+
43+
test('2 diagonal squares', () => {
44+
const matrix = parse(`
45+
000000000
46+
011100000
47+
011100000
48+
011100000
49+
000011100
50+
000011100
51+
000011100
52+
000000000
53+
`);
5454

55-
const conrec = new Conrec(matrix);
56-
const { contours, timeout } = conrec.drawContour({
57-
contourDrawer: 'shape',
58-
levels: [0.5],
59-
});
60-
expect(timeout).toBeFalsy();
61-
expect(contours[0].lines).toHaveLength(49);
55+
const conrec = new Conrec(matrix);
56+
const { contours, timeout } = conrec.drawContour({
57+
contourDrawer: 'shape',
58+
levels: [0.5],
6259
});
63-
it('square float matrix', () => {
64-
const matrix: Float64Array[] = [
65-
Float64Array.from([0, 0, 0.1, 0, 0]),
66-
Float64Array.from([0, 0.9, 1, 1, 0]),
67-
Float64Array.from([0, 1, 1, 1, 0]),
68-
Float64Array.from([0, 1, 1, 0.8, 0]),
69-
Float64Array.from([0, 0, 0, 0, 0.1]),
70-
];
7160

72-
const conrec = new Conrec(matrix);
73-
const { contours, timeout } = conrec.drawContour({
74-
contourDrawer: 'shape',
75-
levels: [0.5],
76-
});
77-
expect(timeout).toBeFalsy();
78-
expect(contours[0].lines).toHaveLength(29);
61+
expect(timeout).toBe(false);
62+
expect(contours[0].lines).toHaveLength(49);
63+
});
64+
65+
test('square float matrix', () => {
66+
const matrix: Float64Array[] = [
67+
Float64Array.from([0, 0, 0.1, 0, 0]),
68+
Float64Array.from([0, 0.9, 1, 1, 0]),
69+
Float64Array.from([0, 1, 1, 1, 0]),
70+
Float64Array.from([0, 1, 1, 0.8, 0]),
71+
Float64Array.from([0, 0, 0, 0, 0.1]),
72+
];
73+
74+
const conrec = new Conrec(matrix);
75+
const { contours, timeout } = conrec.drawContour({
76+
contourDrawer: 'shape',
77+
levels: [0.5],
7978
});
79+
80+
expect(timeout).toBe(false);
81+
expect(contours[0].lines).toHaveLength(29);
8082
});
8183

8284
function parse(string: string) {
8385
const lines = string
8486
.split(/\r?\n/)
8587
.map((line) => line.trim())
86-
.filter((line) => line);
88+
.filter(Boolean);
8789

8890
const matrix: number[][] = [];
8991
for (const line of lines) {
90-
matrix.push(line.split('').map((value: string) => parseInt(value, 10)));
92+
matrix.push(
93+
line.split('').map((value: string) => Number.parseInt(value, 10)),
94+
);
9195
}
9296
return matrix;
9397
}

0 commit comments

Comments
 (0)