@creative-introvert/tons-of-tests 1.1.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -1
- package/dist/cjs/Classify.js +13 -31
- package/dist/cjs/Classify.js.map +1 -1
- package/dist/cjs/DisplayConfig.js +2 -20
- package/dist/cjs/DisplayConfig.js.map +1 -1
- package/dist/cjs/RepositoryError.js +4 -5
- package/dist/cjs/RepositoryError.js.map +1 -1
- package/dist/cjs/Test.js +2 -20
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Test.repository.js +3 -21
- package/dist/cjs/Test.repository.js.map +1 -1
- package/dist/cjs/Test.repository.types.js.map +1 -1
- package/dist/cjs/index.js +2 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Classify.js +2 -2
- package/dist/cjs/internal/Classify.js.map +1 -1
- package/dist/cjs/internal/Test.js +43 -53
- package/dist/cjs/internal/Test.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.js +41 -59
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/cjs/internal/common.js +1 -5
- package/dist/cjs/internal/common.js.map +1 -1
- package/dist/cjs/internal/diff.js +1 -5
- package/dist/cjs/internal/diff.js.map +1 -1
- package/dist/cjs/internal/format-diff.js +2 -6
- package/dist/cjs/internal/format-diff.js.map +1 -1
- package/dist/cjs/internal/lib/Schema.js +3 -3
- package/dist/cjs/internal/lib/Schema.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js +3 -25
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/index.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/index.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -1
- package/dist/cjs/internal/pack.js +28 -50
- package/dist/cjs/internal/pack.js.map +1 -1
- package/dist/cjs/internal/stats.js +1 -5
- package/dist/cjs/internal/stats.js.map +1 -1
- package/dist/cjs/internal/summarize.js +1 -5
- package/dist/cjs/internal/summarize.js.map +1 -1
- package/dist/cjs/package.json +1 -0
- package/dist/dts/Classify.d.ts +20 -57
- package/dist/dts/Classify.d.ts.map +1 -1
- package/dist/dts/DisplayConfig.d.ts +2 -1
- package/dist/dts/DisplayConfig.d.ts.map +1 -1
- package/dist/dts/RepositoryError.d.ts +21 -22
- package/dist/dts/RepositoryError.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +10 -17
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Test.repository.d.ts +4 -4
- package/dist/dts/Test.repository.d.ts.map +1 -1
- package/dist/dts/Test.repository.types.d.ts +10 -20
- package/dist/dts/Test.repository.types.d.ts.map +1 -1
- package/dist/dts/internal/Classify.d.ts +1 -1
- package/dist/dts/internal/Classify.d.ts.map +1 -1
- package/dist/dts/internal/Test.d.ts +13 -6
- package/dist/dts/internal/Test.d.ts.map +1 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts +2 -2
- package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -1
- package/dist/dts/internal/lib/Schema.d.ts +2 -2
- package/dist/dts/internal/lib/Schema.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts +2 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts.map +1 -1
- package/dist/dts/internal/pack.d.ts.map +1 -1
- package/dist/esm/Classify.js +23 -50
- package/dist/esm/Classify.js.map +1 -1
- package/dist/esm/DisplayConfig.js +2 -28
- package/dist/esm/DisplayConfig.js.map +1 -1
- package/dist/esm/RepositoryError.js +13 -24
- package/dist/esm/RepositoryError.js.map +1 -1
- package/dist/esm/Show.js +3 -26
- package/dist/esm/Show.js.map +1 -1
- package/dist/esm/Test.js +5 -31
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Test.repository.js +8 -41
- package/dist/esm/Test.repository.js.map +1 -1
- package/dist/esm/Test.repository.types.js +5 -12
- package/dist/esm/Test.repository.types.js.map +1 -1
- package/dist/esm/index.js +7 -45
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Classify.js +16 -31
- package/dist/esm/internal/Classify.js.map +1 -1
- package/dist/esm/internal/DisplayConfig.js +1 -8
- package/dist/esm/internal/DisplayConfig.js.map +1 -1
- package/dist/esm/internal/Test.js +72 -92
- package/dist/esm/internal/Test.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.js +111 -142
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/esm/internal/common.js +15 -28
- package/dist/esm/internal/common.js.map +1 -1
- package/dist/esm/internal/diff.js +18 -30
- package/dist/esm/internal/diff.js.map +1 -1
- package/dist/esm/internal/format-diff.js +9 -22
- package/dist/esm/internal/format-diff.js.map +1 -1
- package/dist/esm/internal/lib/Schema.js +4 -11
- package/dist/esm/internal/lib/Schema.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/clone.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/clone.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js +1 -8
- package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js +5 -16
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js +3 -14
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js +3 -14
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js +20 -51
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js +16 -28
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js +13 -27
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js +3 -9
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js +3 -9
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js +4 -16
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js +6 -21
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js +6 -20
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/index.js +15 -42
- package/dist/esm/internal/lib/jsondiffpatch/index.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/processor.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/processor.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/types.js +1 -6
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js +22 -49
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -1
- package/dist/esm/internal/pack.js +26 -55
- package/dist/esm/internal/pack.js.map +1 -1
- package/dist/esm/internal/stats.js +21 -33
- package/dist/esm/internal/stats.js.map +1 -1
- package/dist/esm/internal/summarize.js +29 -37
- package/dist/esm/internal/summarize.js.map +1 -1
- package/package.json +11 -9
- package/dist/cjs/Error.js +0 -10
- package/dist/cjs/Error.js.map +0 -1
- package/dist/cjs/internal/Classify.spec.js +0 -223
- package/dist/cjs/internal/Classify.spec.js.map +0 -1
- package/dist/cjs/internal/Test.repository.sqlite.spec.js +0 -294
- package/dist/cjs/internal/Test.repository.sqlite.spec.js.map +0 -1
- package/dist/cjs/internal/Test.spec.js +0 -205
- package/dist/cjs/internal/Test.spec.js.map +0 -1
- package/dist/cjs/internal/format-diff.spec.js +0 -103
- package/dist/cjs/internal/format-diff.spec.js.map +0 -1
- package/dist/cjs/pack.js +0 -28
- package/dist/cjs/pack.js.map +0 -1
- package/dist/dts/Error.d.ts +0 -10
- package/dist/dts/Error.d.ts.map +0 -1
- package/dist/dts/internal/Classify.spec.d.ts +0 -2
- package/dist/dts/internal/Classify.spec.d.ts.map +0 -1
- package/dist/dts/internal/Test.repository.sqlite.spec.d.ts +0 -2
- package/dist/dts/internal/Test.repository.sqlite.spec.d.ts.map +0 -1
- package/dist/dts/internal/Test.spec.d.ts +0 -2
- package/dist/dts/internal/Test.spec.d.ts.map +0 -1
- package/dist/dts/internal/format-diff.spec.d.ts +0 -2
- package/dist/dts/internal/format-diff.spec.d.ts.map +0 -1
- package/dist/dts/pack.d.ts +0 -2
- package/dist/dts/pack.d.ts.map +0 -1
- package/dist/esm/Error.js +0 -10
- package/dist/esm/Error.js.map +0 -1
- package/dist/esm/internal/Classify.spec.js +0 -223
- package/dist/esm/internal/Classify.spec.js.map +0 -1
- package/dist/esm/internal/Test.repository.sqlite.spec.js +0 -294
- package/dist/esm/internal/Test.repository.sqlite.spec.js.map +0 -1
- package/dist/esm/internal/Test.spec.js +0 -205
- package/dist/esm/internal/Test.spec.js.map +0 -1
- package/dist/esm/internal/format-diff.spec.js +0 -103
- package/dist/esm/internal/format-diff.spec.js.map +0 -1
- package/dist/esm/pack.js +0 -28
- package/dist/esm/pack.js.map +0 -1
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _nodePerf_hooks = /*#__PURE__*/require("node:perf_hooks");
|
|
9
|
-
var _effect = /*#__PURE__*/require("effect");
|
|
10
|
-
var _Classify = /*#__PURE__*/require("../Classify.js");
|
|
11
|
-
var _Classify2 = /*#__PURE__*/require("./Classify.js");
|
|
12
|
-
const makeSha256 = input => {
|
|
13
|
-
return (0, _nodeCrypto.createHash)('sha256').update(JSON.stringify(input)).digest('hex');
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { Clock, Effect, Option, pipe, Schema, Sink, Stream } from 'effect';
|
|
3
|
+
import { Stats } from '../Classify.js';
|
|
4
|
+
import { defaultIsEqual, LabelSchema, makeClassify, median, precision, recall } from './Classify.js';
|
|
5
|
+
export const makeSha256 = input => {
|
|
6
|
+
// This public synchronous helper keeps result IDs stable across releases.
|
|
7
|
+
return createHash('sha256').update(JSON.stringify(input)).digest('hex');
|
|
14
8
|
};
|
|
15
|
-
exports.makeSha256 = makeSha256;
|
|
16
9
|
const TestResult = {
|
|
17
10
|
make: args => {
|
|
18
11
|
const {
|
|
@@ -41,26 +34,18 @@ const TestResult = {
|
|
|
41
34
|
};
|
|
42
35
|
}
|
|
43
36
|
};
|
|
44
|
-
const TestResultSchema =
|
|
45
|
-
id:
|
|
46
|
-
hashTestCase:
|
|
47
|
-
ordering:
|
|
48
|
-
input:
|
|
49
|
-
result:
|
|
50
|
-
expected:
|
|
51
|
-
label:
|
|
52
|
-
tags: /*#__PURE__*/
|
|
53
|
-
timeMillis:
|
|
37
|
+
export const TestResultSchema = /*#__PURE__*/Schema.Struct({
|
|
38
|
+
id: Schema.String,
|
|
39
|
+
hashTestCase: Schema.String,
|
|
40
|
+
ordering: Schema.Int,
|
|
41
|
+
input: Schema.Unknown,
|
|
42
|
+
result: Schema.Unknown,
|
|
43
|
+
expected: Schema.Unknown,
|
|
44
|
+
label: LabelSchema,
|
|
45
|
+
tags: /*#__PURE__*/Schema.Array(Schema.String),
|
|
46
|
+
timeMillis: Schema.Finite
|
|
54
47
|
});
|
|
55
|
-
const
|
|
56
|
-
emptyFromTestRun: args => ({
|
|
57
|
-
...args,
|
|
58
|
-
testResultsByTestCaseHash: {},
|
|
59
|
-
testCaseHashes: [],
|
|
60
|
-
stats: _Classify.Stats.empty()
|
|
61
|
-
})
|
|
62
|
-
};
|
|
63
|
-
const test = ({
|
|
48
|
+
export const test = /*#__PURE__*/Effect.fnUntraced(function* ({
|
|
64
49
|
testCase: {
|
|
65
50
|
input,
|
|
66
51
|
expected,
|
|
@@ -69,54 +54,51 @@ const test = ({
|
|
|
69
54
|
},
|
|
70
55
|
program,
|
|
71
56
|
classify
|
|
72
|
-
})
|
|
73
|
-
const t0 =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
exports.test = test;
|
|
88
|
-
const all = ({
|
|
57
|
+
}) {
|
|
58
|
+
const t0 = yield* Clock.currentTimeNanos;
|
|
59
|
+
const result = yield* program(input);
|
|
60
|
+
const t1 = yield* Clock.currentTimeNanos;
|
|
61
|
+
return TestResult.make({
|
|
62
|
+
ordering,
|
|
63
|
+
input,
|
|
64
|
+
result,
|
|
65
|
+
expected,
|
|
66
|
+
tags: tags ?? [],
|
|
67
|
+
label: classify(result, expected),
|
|
68
|
+
timeMillis: Number(t1 - t0) / 1_000_000
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
export const all = ({
|
|
89
72
|
testCases,
|
|
90
73
|
program,
|
|
91
|
-
classify =
|
|
92
|
-
isEqual:
|
|
74
|
+
classify = makeClassify({
|
|
75
|
+
isEqual: defaultIsEqual
|
|
93
76
|
})
|
|
94
77
|
}, {
|
|
95
78
|
concurrency
|
|
96
79
|
} = {
|
|
97
80
|
concurrency: 1
|
|
98
|
-
}) =>
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
exports.all = all;
|
|
81
|
+
}) => {
|
|
82
|
+
const total = Stream.isStream(testCases) ? undefined : testCases.length;
|
|
83
|
+
const testCases$ = Stream.isStream(testCases) ? testCases : Stream.fromIterable(testCases);
|
|
84
|
+
return pipe(testCases$, Stream.zipWithIndex, Stream.map(([testCase, ordering]) => ({
|
|
85
|
+
...testCase,
|
|
86
|
+
ordering
|
|
87
|
+
})), Stream.mapEffect(testCase => test({
|
|
88
|
+
testCase,
|
|
89
|
+
program,
|
|
90
|
+
classify
|
|
91
|
+
}), {
|
|
92
|
+
concurrency,
|
|
93
|
+
unordered: false
|
|
94
|
+
}), Stream.tap(testResult => {
|
|
95
|
+
const i = testResult.ordering + 1;
|
|
96
|
+
const stride = total === undefined ? 10 : Math.max(Math.floor(total * 0.05), 10);
|
|
97
|
+
const isMilestone = i === 1 || i % stride === 0 || total !== undefined && i === total;
|
|
98
|
+
if (!isMilestone) return Effect.void;
|
|
99
|
+
return Effect.logDebug(total === undefined ? `progress ${i}` : `progress ${i}/${total}`);
|
|
100
|
+
}));
|
|
101
|
+
};
|
|
120
102
|
const emptyAcc = () => ({
|
|
121
103
|
testResultsByTestCaseHash: {},
|
|
122
104
|
testCaseHashes: [],
|
|
@@ -129,11 +111,9 @@ const emptyAcc = () => ({
|
|
|
129
111
|
timeMin: Number.POSITIVE_INFINITY,
|
|
130
112
|
timeMax: Number.NEGATIVE_INFINITY
|
|
131
113
|
});
|
|
132
|
-
const runCollectRecord = testRun => testResults$ => testResults$.pipe(
|
|
133
|
-
//
|
|
134
|
-
|
|
135
|
-
// rebuilding the object per element.
|
|
136
|
-
_effect.Sink.foldLeft(emptyAcc(), (acc, r) => {
|
|
114
|
+
export const runCollectRecord = testRun => testResults$ => testResults$.pipe(Stream.run(
|
|
115
|
+
// Each run owns its accumulator, so updates can happen in place.
|
|
116
|
+
Sink.reduce(emptyAcc, (acc, r) => {
|
|
137
117
|
acc.testResultsByTestCaseHash[r.hashTestCase] = r;
|
|
138
118
|
acc.testCaseHashes.push(r.hashTestCase);
|
|
139
119
|
acc.times.push(r.timeMillis);
|
|
@@ -142,42 +122,43 @@ _effect.Sink.foldLeft(emptyAcc(), (acc, r) => {
|
|
|
142
122
|
if (r.timeMillis > acc.timeMax) acc.timeMax = r.timeMillis;
|
|
143
123
|
if (r.label === 'TP') acc.TP++;else if (r.label === 'TN') acc.TN++;else if (r.label === 'FP') acc.FP++;else acc.FN++;
|
|
144
124
|
return acc;
|
|
145
|
-
})),
|
|
125
|
+
})), Effect.map(acc => {
|
|
146
126
|
const total = acc.testCaseHashes.length;
|
|
147
127
|
const hasTimes = acc.times.length > 0;
|
|
148
|
-
const stats = new
|
|
128
|
+
const stats = new Stats({
|
|
149
129
|
TP: acc.TP,
|
|
150
130
|
TN: acc.TN,
|
|
151
131
|
FP: acc.FP,
|
|
152
132
|
FN: acc.FN,
|
|
153
133
|
total,
|
|
154
|
-
precision:
|
|
134
|
+
precision: precision({
|
|
155
135
|
TP: acc.TP,
|
|
156
136
|
FP: acc.FP
|
|
157
137
|
}),
|
|
158
|
-
recall:
|
|
138
|
+
recall: recall({
|
|
159
139
|
TP: acc.TP,
|
|
160
140
|
FN: acc.FN
|
|
161
141
|
}),
|
|
162
|
-
timeMean: hasTimes ?
|
|
163
|
-
timeMin: hasTimes ?
|
|
164
|
-
timeMax: hasTimes ?
|
|
165
|
-
timeMedian:
|
|
142
|
+
timeMean: hasTimes ? Option.some(acc.timeSum / acc.times.length) : Option.none(),
|
|
143
|
+
timeMin: hasTimes ? Option.some(acc.timeMin) : Option.none(),
|
|
144
|
+
timeMax: hasTimes ? Option.some(acc.timeMax) : Option.none(),
|
|
145
|
+
timeMedian: median(acc.times)
|
|
166
146
|
});
|
|
167
147
|
return {
|
|
168
|
-
|
|
148
|
+
id: testRun.id,
|
|
149
|
+
name: testRun.name,
|
|
150
|
+
hash: testRun.hash,
|
|
169
151
|
testResultsByTestCaseHash: acc.testResultsByTestCaseHash,
|
|
170
152
|
testCaseHashes: acc.testCaseHashes,
|
|
171
153
|
stats
|
|
172
154
|
};
|
|
173
155
|
}));
|
|
174
|
-
|
|
175
|
-
const diff = ({
|
|
156
|
+
export const diff = ({
|
|
176
157
|
testRun: {
|
|
177
158
|
stats
|
|
178
159
|
},
|
|
179
160
|
previousTestRun
|
|
180
|
-
}) => previousTestRun.pipe(
|
|
161
|
+
}) => previousTestRun.pipe(Option.match({
|
|
181
162
|
onNone: () => stats,
|
|
182
163
|
onSome: ({
|
|
183
164
|
stats: previousStats
|
|
@@ -190,5 +171,4 @@ const diff = ({
|
|
|
190
171
|
recall: stats.recall - previousStats.recall
|
|
191
172
|
})
|
|
192
173
|
}));
|
|
193
|
-
exports.diff = diff;
|
|
194
174
|
//# sourceMappingURL=Test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.js","names":["
|
|
1
|
+
{"version":3,"file":"Test.js","names":["createHash","Clock","Effect","Option","pipe","Schema","Sink","Stream","Stats","defaultIsEqual","LabelSchema","makeClassify","median","precision","recall","makeSha256","input","update","JSON","stringify","digest","TestResult","make","args","label","result","expected","id","hashTestCase","TestResultSchema","Struct","String","ordering","Int","Unknown","tags","Array","timeMillis","Finite","test","fnUntraced","testCase","program","classify","t0","currentTimeNanos","t1","Number","all","testCases","isEqual","concurrency","total","isStream","undefined","length","testCases$","fromIterable","zipWithIndex","map","mapEffect","unordered","tap","testResult","i","stride","Math","max","floor","isMilestone","void","logDebug","emptyAcc","testResultsByTestCaseHash","testCaseHashes","times","TP","TN","FP","FN","timeSum","timeMin","POSITIVE_INFINITY","timeMax","NEGATIVE_INFINITY","runCollectRecord","testRun","testResults$","run","reduce","acc","r","push","hasTimes","stats","timeMean","some","none","timeMedian","name","hash","diff","previousTestRun","match","onNone","onSome","previousStats"],"sources":["../../../src/internal/Test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAQA,UAAU,QAAO,aAAa;AACtC,SAAQC,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,QAAO,QAAQ;AAGxE,SAAQC,KAAK,QAAO,gBAAgB;AAUpC,SACIC,cAAc,EAEdC,WAAW,EACXC,YAAY,EACZC,MAAM,EACNC,SAAS,EACTC,MAAM,QACH,eAAe;AAEtB,OAAO,MAAMC,UAAU,GAAOC,KAAQ,IAAY;EAC9C;EACA,OAAOhB,UAAU,CAAC,QAAQ,CAAC,CAACiB,MAAM,CAACC,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC,CAAC,CAACI,MAAM,CAAC,KAAK,CAAC;AAC3E,CAAC;AAED,MAAMC,UAAU,GAAG;EACfC,IAAI,EAAYC,IAAsD,IAAI;IACtE,MAAM;MAACC,KAAK;MAAER,KAAK;MAAES,MAAM;MAAEC;IAAQ,CAAC,GAAGH,IAAI;IAE7C;IACA;IACA;IACA,MAAMI,EAAE,GAAGZ,UAAU,CAAC;MAACS,KAAK;MAAER,KAAK;MAAES,MAAM;MAAEC;IAAQ,CAAC,CAAC;IACvD,MAAME,YAAY,GAAGb,UAAU,CAAC;MAACC,KAAK;MAAEU;IAAQ,CAAC,CAAC;IAElD,OAAO;MACH,GAAGH,IAAI;MACPI,EAAE;MACFC;KACH;EACL;CACH;AAED,OAAO,MAAMC,gBAAgB,gBAA6BxB,MAAM,CAACyB,MAAM,CAAC;EACpEH,EAAE,EAAEtB,MAAM,CAAC0B,MAAM;EACjBH,YAAY,EAAEvB,MAAM,CAAC0B,MAAM;EAC3BC,QAAQ,EAAE3B,MAAM,CAAC4B,GAAG;EACpBjB,KAAK,EAAEX,MAAM,CAAC6B,OAAO;EACrBT,MAAM,EAAEpB,MAAM,CAAC6B,OAAO;EACtBR,QAAQ,EAAErB,MAAM,CAAC6B,OAAO;EACxBV,KAAK,EAAEd,WAAW;EAClByB,IAAI,eAAE9B,MAAM,CAAC+B,KAAK,CAAC/B,MAAM,CAAC0B,MAAM,CAAC;EACjCM,UAAU,EAAEhC,MAAM,CAACiC;CACtB,CAAC;AAEF,OAAO,MAAMC,IAAI,gBAAGrC,MAAM,CAACsC,UAAU,CAAC,WAA0B;EAC5DC,QAAQ,EAAE;IAACzB,KAAK;IAAEU,QAAQ;IAAES,IAAI;IAAEH;EAAQ,CAAC;EAC3CU,OAAO;EACPC;AAAQ,CAKX;EACG,MAAMC,EAAE,GAAG,OAAO3C,KAAK,CAAC4C,gBAAgB;EACxC,MAAMpB,MAAM,GAAG,OAAOiB,OAAO,CAAC1B,KAAK,CAAC;EACpC,MAAM8B,EAAE,GAAG,OAAO7C,KAAK,CAAC4C,gBAAgB;EACxC,OAAOxB,UAAU,CAACC,IAAI,CAAC;IACnBU,QAAQ;IACRhB,KAAK;IACLS,MAAM;IACNC,QAAQ;IACRS,IAAI,EAAEA,IAAI,IAAI,EAAE;IAChBX,KAAK,EAAEmB,QAAQ,CAAClB,MAAM,EAAEC,QAAQ,CAAC;IACjCW,UAAU,EAAEU,MAAM,CAACD,EAAE,GAAGF,EAAE,CAAC,GAAG;GACjC,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,MAAMI,GAAG,GAAGA,CACf;EACIC,SAAS;EACTP,OAAO;EACPC,QAAQ,GAAGhC,YAAY,CAAC;IAACuC,OAAO,EAAEzC;EAAc,CAAC;AAAC,CAC3B,EAC3B;EAAC0C;AAAW,CAAC,GAAuC;EAACA,WAAW,EAAE;AAAC,CAAC,KAC1B;EAC1C,MAAMC,KAAK,GAAG7C,MAAM,CAAC8C,QAAQ,CAACJ,SAAS,CAAC,GAAGK,SAAS,GAAGL,SAAS,CAACM,MAAM;EACvE,MAAMC,UAAU,GAAGjD,MAAM,CAAC8C,QAAQ,CAACJ,SAAS,CAAC,GACvCA,SAAS,GACT1C,MAAM,CAACkD,YAAY,CAACR,SAAS,CAAC;EAEpC,OAAO7C,IAAI,CACPoD,UAAU,EACVjD,MAAM,CAACmD,YAAY,EACnBnD,MAAM,CAACoD,GAAG,CAAC,CAAC,CAAClB,QAAQ,EAAET,QAAQ,CAAC,MAAM;IAAC,GAAGS,QAAQ;IAAET;EAAQ,CAAC,CAAC,CAAC,EAC/DzB,MAAM,CAACqD,SAAS,CAACnB,QAAQ,IAAIF,IAAI,CAAC;IAACE,QAAQ;IAAEC,OAAO;IAAEC;EAAQ,CAAC,CAAC,EAAE;IAC9DQ,WAAW;IACXU,SAAS,EAAE;GACd,CAAC,EACFtD,MAAM,CAACuD,GAAG,CAACC,UAAU,IAAG;IACpB,MAAMC,CAAC,GAAGD,UAAU,CAAC/B,QAAQ,GAAG,CAAC;IACjC,MAAMiC,MAAM,GACRb,KAAK,KAAKE,SAAS,GACb,EAAE,GACFY,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAAChB,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAChD,MAAMiB,WAAW,GACbL,CAAC,KAAK,CAAC,IACPA,CAAC,GAAGC,MAAM,KAAK,CAAC,IACfb,KAAK,KAAKE,SAAS,IAAIU,CAAC,KAAKZ,KAAM;IACxC,IAAI,CAACiB,WAAW,EAAE,OAAOnE,MAAM,CAACoE,IAAI;IAEpC,OAAOpE,MAAM,CAACqE,QAAQ,CAClBnB,KAAK,KAAKE,SAAS,GACb,YAAYU,CAAC,EAAE,GACf,YAAYA,CAAC,IAAIZ,KAAK,EAAE,CACjC;EACL,CAAC,CAAC,CACL;AACL,CAAC;AAeD,MAAMoB,QAAQ,GAAGA,CAAA,MAAkC;EAC/CC,yBAAyB,EAAE,EAAE;EAC7BC,cAAc,EAAE,EAAE;EAClBC,KAAK,EAAE,EAAE;EACTC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,OAAO,EAAE,CAAC;EACVC,OAAO,EAAElC,MAAM,CAACmC,iBAAiB;EACjCC,OAAO,EAAEpC,MAAM,CAACqC;CACnB,CAAC;AAEF,OAAO,MAAMC,gBAAgB,GACxBC,OAAgB,IAEbC,YAAsD,IAEtDA,YAAY,CAACnF,IAAI,CACbG,MAAM,CAACiF,GAAG;AACN;AACAlF,IAAI,CAACmF,MAAM,CACPjB,QAAiB,EACjB,CAACkB,GAAG,EAAEC,CAAsB,KAAI;EAC5BD,GAAG,CAACjB,yBAAyB,CAACkB,CAAC,CAAC/D,YAAY,CAAC,GAAG+D,CAAC;EACjDD,GAAG,CAAChB,cAAc,CAACkB,IAAI,CAACD,CAAC,CAAC/D,YAAY,CAAC;EACvC8D,GAAG,CAACf,KAAK,CAACiB,IAAI,CAACD,CAAC,CAACtD,UAAU,CAAC;EAC5BqD,GAAG,CAACV,OAAO,IAAIW,CAAC,CAACtD,UAAU;EAC3B,IAAIsD,CAAC,CAACtD,UAAU,GAAGqD,GAAG,CAACT,OAAO,EAC1BS,GAAG,CAACT,OAAO,GAAGU,CAAC,CAACtD,UAAU;EAC9B,IAAIsD,CAAC,CAACtD,UAAU,GAAGqD,GAAG,CAACP,OAAO,EAC1BO,GAAG,CAACP,OAAO,GAAGQ,CAAC,CAACtD,UAAU;EAC9B,IAAIsD,CAAC,CAACnE,KAAK,KAAK,IAAI,EAAEkE,GAAG,CAACd,EAAE,EAAE,CAAC,KAC1B,IAAIe,CAAC,CAACnE,KAAK,KAAK,IAAI,EAAEkE,GAAG,CAACb,EAAE,EAAE,CAAC,KAC/B,IAAIc,CAAC,CAACnE,KAAK,KAAK,IAAI,EAAEkE,GAAG,CAACZ,EAAE,EAAE,CAAC,KAC/BY,GAAG,CAACX,EAAE,EAAE;EACb,OAAOW,GAAG;AACd,CAAC,CACJ,CACJ,EACDxF,MAAM,CAACyD,GAAG,CAAC+B,GAAG,IAAG;EACb,MAAMtC,KAAK,GAAGsC,GAAG,CAAChB,cAAc,CAACnB,MAAM;EACvC,MAAMsC,QAAQ,GAAGH,GAAG,CAACf,KAAK,CAACpB,MAAM,GAAG,CAAC;EACrC,MAAMuC,KAAK,GAAG,IAAItF,KAAK,CAAC;IACpBoE,EAAE,EAAEc,GAAG,CAACd,EAAE;IACVC,EAAE,EAAEa,GAAG,CAACb,EAAE;IACVC,EAAE,EAAEY,GAAG,CAACZ,EAAE;IACVC,EAAE,EAAEW,GAAG,CAACX,EAAE;IACV3B,KAAK;IACLvC,SAAS,EAAEA,SAAS,CAAC;MAAC+D,EAAE,EAAEc,GAAG,CAACd,EAAE;MAAEE,EAAE,EAAEY,GAAG,CAACZ;IAAE,CAAC,CAAC;IAC9ChE,MAAM,EAAEA,MAAM,CAAC;MAAC8D,EAAE,EAAEc,GAAG,CAACd,EAAE;MAAEG,EAAE,EAAEW,GAAG,CAACX;IAAE,CAAC,CAAC;IACxCgB,QAAQ,EAAEF,QAAQ,GACZ1F,MAAM,CAAC6F,IAAI,CAACN,GAAG,CAACV,OAAO,GAAGU,GAAG,CAACf,KAAK,CAACpB,MAAM,CAAC,GAC3CpD,MAAM,CAAC8F,IAAI,EAAE;IACnBhB,OAAO,EAAEY,QAAQ,GACX1F,MAAM,CAAC6F,IAAI,CAACN,GAAG,CAACT,OAAO,CAAC,GACxB9E,MAAM,CAAC8F,IAAI,EAAE;IACnBd,OAAO,EAAEU,QAAQ,GACX1F,MAAM,CAAC6F,IAAI,CAACN,GAAG,CAACP,OAAO,CAAC,GACxBhF,MAAM,CAAC8F,IAAI,EAAE;IACnBC,UAAU,EAAEtF,MAAM,CAAC8E,GAAG,CAACf,KAAK;GAC/B,CAAC;EAEF,OAAO;IACHhD,EAAE,EAAE2D,OAAO,CAAC3D,EAAE;IACdwE,IAAI,EAAEb,OAAO,CAACa,IAAI;IAClBC,IAAI,EAAEd,OAAO,CAACc,IAAI;IAClB3B,yBAAyB,EAAEiB,GAAG,CAACjB,yBAAyB;IACxDC,cAAc,EAAEgB,GAAG,CAAChB,cAAc;IAClCoB;GACH;AACL,CAAC,CAAC,CACL;AAET,OAAO,MAAMO,IAAI,GAAGA,CAAC;EACjBf,OAAO,EAAE;IAACQ;EAAK,CAAC;EAChBQ;AAAe,CAIlB,KACGA,eAAe,CAAClG,IAAI,CAChBD,MAAM,CAACoG,KAAK,CAAC;EACTC,MAAM,EAAEA,CAAA,KAAMV,KAAK;EACnBW,MAAM,EAAEA,CAAC;IAACX,KAAK,EAAEY;EAAa,CAAC,MAAM;IACjC9B,EAAE,EAAEkB,KAAK,CAAClB,EAAE,GAAG8B,aAAa,CAAC9B,EAAE;IAC/BC,EAAE,EAAEiB,KAAK,CAACjB,EAAE,GAAG6B,aAAa,CAAC7B,EAAE;IAC/BC,EAAE,EAAEgB,KAAK,CAAChB,EAAE,GAAG4B,aAAa,CAAC5B,EAAE;IAC/BC,EAAE,EAAEe,KAAK,CAACf,EAAE,GAAG2B,aAAa,CAAC3B,EAAE;IAC/BlE,SAAS,EAAEiF,KAAK,CAACjF,SAAS,GAAG6F,aAAa,CAAC7F,SAAS;IACpDC,MAAM,EAAEgF,KAAK,CAAChF,MAAM,GAAG4F,aAAa,CAAC5F;GACxC;CACJ,CAAC,CACL","ignoreList":[]}
|