@fncts/test 0.0.12 → 0.0.13
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/TestSpec.d.ts +1 -1
- package/_cjs/control/Annotations/api.cjs +1 -1
- package/_cjs/control/Annotations/api.cjs.map +1 -1
- package/_cjs/control/Gen/api/char.cjs.map +1 -1
- package/_cjs/control/Gen/api.cjs +3 -3
- package/_cjs/control/Gen/api.cjs.map +1 -1
- package/_cjs/control/Gen/definition.cjs.map +1 -1
- package/_cjs/control/Live/definition.cjs +1 -1
- package/_cjs/control/Live/definition.cjs.map +1 -1
- package/_cjs/control/RunnableSpec.cjs +9 -11
- package/_cjs/control/RunnableSpec.cjs.map +1 -1
- package/_cjs/control/Sized/api.cjs +1 -1
- package/_cjs/control/Sized/api.cjs.map +1 -1
- package/_cjs/control/Spec/api.cjs +1 -1
- package/_cjs/control/Spec/api.cjs.map +1 -1
- package/_cjs/control/Spec/definition.cjs.map +1 -1
- package/_cjs/control/TestAspect/api.cjs +3 -3
- package/_cjs/control/TestAspect/api.cjs.map +1 -1
- package/_cjs/control/TestClock/api.cjs +14 -22
- package/_cjs/control/TestClock/api.cjs.map +1 -1
- package/_cjs/control/TestConsole/api.cjs +12 -15
- package/_cjs/control/TestConsole/api.cjs.map +1 -1
- package/_cjs/control/TestEnvironment.cjs.map +1 -1
- package/_cjs/control/TestExecutor.cjs +6 -6
- package/_cjs/control/TestExecutor.cjs.map +1 -1
- package/_cjs/control/TestLogger.cjs.map +1 -1
- package/_cjs/control/TestRandom/api.cjs +10 -18
- package/_cjs/control/TestRandom/api.cjs.map +1 -1
- package/_cjs/control/TestRunner.cjs.map +1 -1
- package/_mjs/control/Annotations/api.mjs +1 -1
- package/_mjs/control/Annotations/api.mjs.map +1 -1
- package/_mjs/control/Gen/api/char.mjs.map +1 -1
- package/_mjs/control/Gen/api.mjs +3 -3
- package/_mjs/control/Gen/api.mjs.map +1 -1
- package/_mjs/control/Gen/definition.mjs.map +1 -1
- package/_mjs/control/Live/definition.mjs +1 -1
- package/_mjs/control/Live/definition.mjs.map +1 -1
- package/_mjs/control/RunnableSpec.mjs +9 -11
- package/_mjs/control/RunnableSpec.mjs.map +1 -1
- package/_mjs/control/Sized/api.mjs +1 -1
- package/_mjs/control/Sized/api.mjs.map +1 -1
- package/_mjs/control/Spec/api.mjs +1 -1
- package/_mjs/control/Spec/api.mjs.map +1 -1
- package/_mjs/control/Spec/definition.mjs.map +1 -1
- package/_mjs/control/TestAspect/api.mjs +3 -3
- package/_mjs/control/TestAspect/api.mjs.map +1 -1
- package/_mjs/control/TestClock/api.mjs +13 -21
- package/_mjs/control/TestClock/api.mjs.map +1 -1
- package/_mjs/control/TestConsole/api.mjs +10 -13
- package/_mjs/control/TestConsole/api.mjs.map +1 -1
- package/_mjs/control/TestEnvironment.mjs.map +1 -1
- package/_mjs/control/TestExecutor.mjs +6 -6
- package/_mjs/control/TestExecutor.mjs.map +1 -1
- package/_mjs/control/TestLogger.mjs.map +1 -1
- package/_mjs/control/TestRandom/api.mjs +10 -18
- package/_mjs/control/TestRandom/api.mjs.map +1 -1
- package/_mjs/control/TestRunner.mjs.map +1 -1
- package/_src/api.ts +8 -8
- package/_src/control/AbstractRunnableSpec.ts +2 -2
- package/_src/control/Annotations/api.ts +4 -4
- package/_src/control/AssertionIO/definition.ts +1 -1
- package/_src/control/DefaultTestReporter/render.ts +1 -1
- package/_src/control/FreeBooleanAlgebraIO/api.ts +4 -4
- package/_src/control/Gen/api/array.ts +2 -2
- package/_src/control/Gen/api/char.ts +10 -10
- package/_src/control/Gen/api/conc.ts +2 -2
- package/_src/control/Gen/api/double.ts +2 -2
- package/_src/control/Gen/api/float.ts +1 -1
- package/_src/control/Gen/api/string.ts +8 -8
- package/_src/control/Gen/api.ts +20 -20
- package/_src/control/Gen/definition.ts +2 -0
- package/_src/control/Live/definition.ts +7 -7
- package/_src/control/RunnableSpec.ts +4 -4
- package/_src/control/Sample/api.ts +12 -12
- package/_src/control/Sized/api.ts +2 -2
- package/_src/control/Sized/live.ts +1 -1
- package/_src/control/Spec/api.ts +18 -21
- package/_src/control/Spec/definition.ts +3 -3
- package/_src/control/TestAspect/api.ts +12 -14
- package/_src/control/TestAspect/definition.ts +1 -1
- package/_src/control/TestClock/api.ts +10 -10
- package/_src/control/TestClock/definition.ts +3 -3
- package/_src/control/TestConsole/api.ts +5 -5
- package/_src/control/TestEnvironment.ts +11 -10
- package/_src/control/TestExecutor.ts +4 -6
- package/_src/control/TestLogger.ts +2 -2
- package/_src/control/TestRandom/api.ts +10 -10
- package/_src/control/TestRunner.ts +3 -3
- package/_src/data/TestConfig.ts +1 -1
- package/_src/util/math.ts +3 -3
- package/api.d.ts +5 -6
- package/control/AbstractRunnableSpec.d.ts +2 -3
- package/control/Annotations/api.d.ts +4 -5
- package/control/Annotations/live.d.ts +3 -3
- package/control/AssertionIO/definition.d.ts +1 -1
- package/control/DefaultRunnableSpec.d.ts +2 -2
- package/control/DefaultTestReporter/render.d.ts +1 -2
- package/control/FreeBooleanAlgebraIO/api.d.ts +4 -4
- package/control/Gen/api/array.d.ts +2 -3
- package/control/Gen/api/char.d.ts +9 -9
- package/control/Gen/api/conc.d.ts +2 -3
- package/control/Gen/api/double.d.ts +2 -2
- package/control/Gen/api/float.d.ts +1 -1
- package/control/Gen/api/string.d.ts +8 -9
- package/control/Gen/api.d.ts +19 -20
- package/control/Gen/definition.d.ts +2 -0
- package/control/Live/definition.d.ts +4 -6
- package/control/RunnableSpec.d.ts +2 -3
- package/control/Sample/api.d.ts +10 -10
- package/control/Sized/api.d.ts +2 -3
- package/control/Sized/live.d.ts +1 -2
- package/control/Spec/api.d.ts +12 -14
- package/control/Spec/definition.d.ts +4 -5
- package/control/TestAspect/api.d.ts +6 -7
- package/control/TestAspect/definition.d.ts +1 -1
- package/control/TestClock/api.d.ts +3 -4
- package/control/TestClock/definition.d.ts +3 -3
- package/control/TestConsole/api.d.ts +2 -3
- package/control/TestConsole/definition.d.ts +5 -5
- package/control/TestEnvironment.d.ts +2 -3
- package/control/TestExecutor.d.ts +2 -3
- package/control/TestLogger.d.ts +2 -3
- package/control/TestRandom/api.d.ts +10 -10
- package/control/TestRunner.d.ts +3 -4
- package/data/TestConfig.d.ts +5 -6
- package/package.json +4 -4
- package/util/math.d.ts +4 -4
|
@@ -11,25 +11,25 @@ import { TestAnnotationMap } from "../data/TestAnnotationMap.mjs";
|
|
|
11
11
|
import { RuntimeFailure } from "../data/TestFailure.mjs";
|
|
12
12
|
export function defaultTestExecutor(env) {
|
|
13
13
|
return {
|
|
14
|
-
run: (spec, defExec) => tsplus_module_1.flatMap_(tsplus_module_4.scoped_(tsplus_module_3.foreachExec_(tsplus_module_3.provideLayer_(tsplus_module_3.annotated(spec), env), cause => tsplus_module_7.match_(tsplus_module_6.failureOrCause(cause), ([failure, annotations]) => tsplus_module_1.succeedNow([tsplus_module_5.left(failure), annotations], fileName_1 + ":
|
|
14
|
+
run: (spec, defExec) => tsplus_module_1.flatMap_(tsplus_module_4.scoped_(tsplus_module_3.foreachExec_(tsplus_module_3.provideLayer_(tsplus_module_3.annotated(spec), env), cause => tsplus_module_7.match_(tsplus_module_6.failureOrCause(cause), ([failure, annotations]) => tsplus_module_1.succeedNow([tsplus_module_5.left(failure), annotations], fileName_1 + ":26:56"), cause => tsplus_module_1.succeedNow([tsplus_module_5.left(new RuntimeFailure(cause)), TestAnnotationMap.empty], fileName_1 + ":27:39")), ([success, annotations]) => tsplus_module_1.succeedNow([tsplus_module_5.right(success), annotations], fileName_1 + ":30:26"), defExec)), s => tsplus_module_4.scoped_(tsplus_module_3.foldScoped_(s, spec => matchTag_(spec, {
|
|
15
15
|
Exec: ({
|
|
16
16
|
spec
|
|
17
|
-
}) => tsplus_module_1.succeedNow(spec, fileName_1 + ":
|
|
17
|
+
}) => tsplus_module_1.succeedNow(spec, fileName_1 + ":38:52"),
|
|
18
18
|
Labeled: ({
|
|
19
19
|
label,
|
|
20
20
|
spec
|
|
21
|
-
}) => tsplus_module_1.succeedNow(tsplus_module_2.labeled(spec, label), fileName_1 + ":
|
|
21
|
+
}) => tsplus_module_1.succeedNow(tsplus_module_2.labeled(spec, label), fileName_1 + ":39:62"),
|
|
22
22
|
Scoped: ({
|
|
23
23
|
scoped
|
|
24
24
|
}) => scoped,
|
|
25
25
|
Multiple: ({
|
|
26
26
|
specs
|
|
27
|
-
}) => tsplus_module_1.succeedNow(tsplus_module_2.multiple(specs), fileName_1 + ":
|
|
27
|
+
}) => tsplus_module_1.succeedNow(tsplus_module_2.multiple(specs), fileName_1 + ":41:57"),
|
|
28
28
|
Test: ({
|
|
29
29
|
test,
|
|
30
30
|
annotations
|
|
31
|
-
}) => tsplus_module_1.map_(test, ([result, dynamicAnnotations]) => tsplus_module_2.test(result, annotations.combine(dynamicAnnotations)), fileName_1 + ":
|
|
32
|
-
}), defExec)), fileName_1 + ":
|
|
31
|
+
}) => tsplus_module_1.map_(test, ([result, dynamicAnnotations]) => tsplus_module_2.test(result, annotations.combine(dynamicAnnotations)), fileName_1 + ":43:29")
|
|
32
|
+
}), defExec)), fileName_1 + ":33:24"),
|
|
33
33
|
environment: env
|
|
34
34
|
};
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestExecutor.mjs","mappings":";;;;;;;;AAMA,SAASA,SAAT,QAA0B,0BAA1B;AAGA,SAASC,iBAAT,QAAkC,+BAAlC;AACA,SAASC,cAAT,QAA+B,yBAA/B;AAOA,OAAM,SAAUC,mBAAV,
|
|
1
|
+
{"version":3,"file":"TestExecutor.mjs","mappings":";;;;;;;;AAMA,SAASA,SAAT,QAA0B,0BAA1B;AAGA,SAASC,iBAAT,QAAkC,+BAAlC;AACA,SAASC,cAAT,QAA+B,yBAA/B;AAOA,OAAM,SAAUC,mBAAV,CAAiCC,GAAjC,EAA0E;EAC9E,OAAO;IACLC,GAAG,EAAE,CAAIC,IAAJ,EAAoCC,OAApC,KACHC,6IACgBJ,GADhB,GAGKK,KAAD,IACEC,8DACE,CAAC,CAACC,OAAD,EAAUC,WAAV,CAAD,KAA4BJ,2BAAc,CAACK,qBAAYF,OAAZ,CAAD,EAAuBC,WAAvB,CAAd,EAAiDE,qBAAjD,CAD9B,EAEGL,KAAD,IAAWD,2BAAc,CAACK,qBAAY,IAAIX,cAAJ,CAAmBO,KAAnB,CAAZ,CAAD,EAAyCR,iBAAiB,CAACc,KAA3D,CAAd,EAA+ED,qBAA/E,CAFb,CAJN,EAQI,CAAC,CAACE,OAAD,EAAUJ,WAAV,CAAD,KACEJ,2BAAc,CAACK,sBAAaG,OAAb,CAAD,EAAwBJ,WAAxB,CAAd,EAAkDE,qBAAlD,CATN,EAUIP,OAVJ,IAaKU,CAAD,IAAMC,wBACJC,+BACGb,IAAD,IACEN,SAAS,CAACM,IAAD,EAAO;MACdc,IAAI,EAAE,CAAC;QAAEd;MAAF,CAAD,KAAcE,2BAAcF,IAAd,EAAkBQ,qBAAlB,CADN;MAEdO,OAAO,EAAE,CAAC;QAAEC,KAAF;QAAShB;MAAT,CAAD,KAAqBE,2BAAce,wBAAqBjB,IAArB,EAA2BgB,KAA3B,CAAd,EAA+CR,qBAA/C,CAFhB;MAGdU,MAAM,EAAE,CAAC;QAAEC;MAAF,CAAD,KAAgBA,MAHV;MAIdC,QAAQ,EAAE,CAAC;QAAEC;MAAF,CAAD,KAAenB,2BAAce,yBAAsBI,KAAtB,CAAd,EAA0Cb,qBAA1C,CAJX;MAKdc,IAAI,EAAE,CAAC;QAAEC,IAAF;QAAQjB;MAAR,CAAD,KACJJ,2BAAS,CAAC,CAACsB,MAAD,EAASC,kBAAT,CAAD,KACPR,qBAAkBO,MAAlB,EAA0BlB,WAAW,CAACoB,OAAZ,CAAoBD,kBAApB,CAA1B,CADF,EACoEjB,qBADpE;IANY,CAAP,CAFb,EAYEP,OAZF,CADI,CAbV,EA2BcO,qBA3Bd,CAFG;IA+BLmB,WAAW,EAAE7B;EA/BR,CAAP;AAiCD","names":["matchTag_","TestAnnotationMap","RuntimeFailure","defaultTestExecutor","env","run","spec","defExec","tsplus_module_1","cause","tsplus_module_7","failure","annotations","tsplus_module_5","fileName_1","empty","success","s","tsplus_module_4","tsplus_module_3","Exec","Labeled","label","tsplus_module_2","Scoped","scoped","Multiple","specs","Test","test","result","dynamicAnnotations","combine","environment"],"sourceRoot":"","sources":["../../_src/control/TestExecutor.ts"],"sourcesContent":[null]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestLogger.mjs","mappings":";;;;;;AAEA;;;;;AAIA,OAAM,MAAgBA,UAAhB,CAA0B;AAIhC;;;;AAGO,MAAMC,+BAAgBC,yBAAtB;aAAMC,aAAa;AAE1B;;;;AAGA,OAAO,MAAMC,WAAW,
|
|
1
|
+
{"version":3,"file":"TestLogger.mjs","mappings":";;;;;;AAEA;;;;;AAIA,OAAM,MAAgBA,UAAhB,CAA0B;AAIhC;;;;AAGO,MAAMC,+BAAgBC,yBAAtB;aAAMC,aAAa;AAE1B;;;;AAGA,OAAO,MAAMC,WAAW,gBAAoCC,qCAC1DC,4BAAgBC,OAAD,IACbC,2BACE,IAAK,cAAcR,UAAd,CAAwB;EAC3BS,OAAO,CAACC,IAAD,EAAa;IAClB,OAAOH,OAAO,CAACI,KAAR,CAAcD,IAAd,CAAP;EACD;;AAH0B,CAA7B,EADF,EAKME,qBALN,CADF,CAD0D,EASzDX,eATyD,CAArD;AAaP;;;;AAGA,OAAM,SAAUQ,OAAV,CAAkBC,IAAlB,EAA8B;EAClC,OAAOG,8BAAkBC,UAAD,IAAgBA,UAAU,CAACL,OAAX,CAAmBC,IAAnB,CAAjC,EAAyDT,eAAzD,EAAyDW,qBAAzD,CAAP;AACD","names":["TestLogger","TestLoggerTag_1","tsplus_module_1","TestLoggerTag","fromConsole","tsplus_module_4","tsplus_module_3","console","tsplus_module_2","logLine","line","print","fileName_1","tsplus_module_5","testLogger"],"sourceRoot":"","sources":["../../_src/control/TestLogger.ts"],"sourcesContent":[null]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
const fileName_1 = "(@fncts/test) src/control/TestRandom/api.ts";
|
|
2
2
|
import * as tsplus_module_1 from "@fncts/test/control/TestRandom/definition";
|
|
3
3
|
import * as tsplus_module_2 from "@fncts/io/IO/api/environment";
|
|
4
|
-
import * as tsplus_module_3 from "@fncts/io/
|
|
5
|
-
import * as tsplus_module_4 from "@fncts/
|
|
6
|
-
import * as tsplus_module_5 from "@fncts/
|
|
4
|
+
import * as tsplus_module_3 from "@fncts/io/Random/definition";
|
|
5
|
+
import * as tsplus_module_4 from "@fncts/base/data/Environment/api";
|
|
6
|
+
import * as tsplus_module_5 from "@fncts/io/Ref/constructors";
|
|
7
7
|
import * as tsplus_module_6 from "@fncts/io/IO/api";
|
|
8
8
|
import * as tsplus_module_7 from "@fncts/io/Layer/api";
|
|
9
|
-
import * as tsplus_module_8 from "@fncts/io/
|
|
10
|
-
import * as tsplus_module_9 from "@fncts/io/
|
|
11
|
-
import * as tsplus_module_10 from "@fncts/io/
|
|
9
|
+
import * as tsplus_module_8 from "@fncts/io/IOEnv/services";
|
|
10
|
+
import * as tsplus_module_9 from "@fncts/io/FiberRef/api/locallyScopedWith";
|
|
11
|
+
import * as tsplus_module_10 from "@fncts/io/Clock/api";
|
|
12
12
|
export const make = make_1;
|
|
13
13
|
import { Buffer, Data, TestRandom } from "@fncts/test/control/TestRandom";
|
|
14
14
|
/**
|
|
@@ -58,12 +58,10 @@ export function feedBooleans(...booleans) {
|
|
|
58
58
|
*/
|
|
59
59
|
|
|
60
60
|
function make_1(initialData) {
|
|
61
|
-
return tsplus_module_7.fromIOEnvironment(tsplus_module_6.
|
|
62
|
-
const data = yield* _(tsplus_module_3.make(() => initialData), fileName_1 + ":47:30");
|
|
63
|
-
const buffer = yield* _(tsplus_module_3.make(() => new Buffer()), fileName_1 + ":48:30");
|
|
61
|
+
return tsplus_module_7.fromIOEnvironment(tsplus_module_6.flatMap_(tsplus_module_5.make(() => initialData), data => tsplus_module_6.map_(tsplus_module_5.make(() => new Buffer()), buffer => {
|
|
64
62
|
const test = new TestRandom(data, buffer);
|
|
65
|
-
return
|
|
66
|
-
}), fileName_1 + ":45:33");
|
|
63
|
+
return tsplus_module_4.add(tsplus_module_4.add(tsplus_module_4.make(), test, tsplus_module_1.TestRandomTag), test, tsplus_module_3.RandomTag);
|
|
64
|
+
}, fileName_1 + ":48:23"), fileName_1 + ":47:23"), fileName_1 + ":45:33");
|
|
67
65
|
}
|
|
68
66
|
|
|
69
67
|
const defaultData = /*#__PURE__*/new Data(1071905196, 1911589680);
|
|
@@ -77,11 +75,5 @@ export const determinictic = determinictic_1;
|
|
|
77
75
|
* @tsplus static fncts.test.TestRandomOps Random
|
|
78
76
|
*/
|
|
79
77
|
|
|
80
|
-
export const random = /*#__PURE__*/tsplus_module_7.to_(determinictic_1, /*#__PURE__*/tsplus_module_7.scoped(() => tsplus_module_6.
|
|
81
|
-
const testRandom = yield* _(tsplus_module_2.service(tsplus_module_1.TestRandomTag, fileName_1 + ":68:45"), fileName_1 + ":68:34");
|
|
82
|
-
const time = yield* _(tsplus_module_8.currentTime, fileName_1 + ":69:34");
|
|
83
|
-
yield* _(testRandom.setSeed(time), fileName_1 + ":70:15");
|
|
84
|
-
yield* _(tsplus_module_10.locallyScopedWith(tsplus_module_9.services, _ => tsplus_module_5.add(_, testRandom, tsplus_module_4.RandomTag)), fileName_1 + ":71:15");
|
|
85
|
-
return testRandom;
|
|
86
|
-
}), tsplus_module_1.TestRandomTag));
|
|
78
|
+
export const random = /*#__PURE__*/tsplus_module_7.to_(determinictic_1, /*#__PURE__*/tsplus_module_7.scoped(() => tsplus_module_6.flatMap_(tsplus_module_2.service(tsplus_module_1.TestRandomTag, fileName_1 + ":68:38"), testRandom => tsplus_module_6.flatMap_(tsplus_module_10.currentTime, time => tsplus_module_6.flatMap_(testRandom.setSeed(time), () => tsplus_module_6.map_(tsplus_module_9.locallyScopedWith(tsplus_module_8.services, _ => tsplus_module_4.add(_, testRandom, tsplus_module_3.RandomTag)), () => testRandom, fileName_1 + ":71:8"), fileName_1 + ":70:8"), fileName_1 + ":69:27"), fileName_1 + ":68:27"), tsplus_module_1.TestRandomTag));
|
|
87
79
|
//# sourceMappingURL=api.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.mjs","mappings":";;;;;;;;;;;aA2CgBA,IAAI;AA1CpB,SAASC,MAAT,EAAiBC,IAAjB,EAAuBC,UAAvB,QAAyC,gCAAzC;AAEA;;;;AAGA,OAAM,SAAUC,QAAV,CAAmB,GAAGC,IAAtB,EAAiD;EACrD,OAAOC,8BAAkBC,EAAD,IAAQA,EAAE,CAACH,QAAH,CAAY,GAAGC,IAAf,CAAzB,EAA6CG,6BAA7C,EAA6CC,oBAA7C,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUC,SAAV,CAAoB,GAAGC,KAAvB,EAAgE;EACpE,OAAOL,8BAAkBC,EAAD,IAAQA,EAAE,CAACG,SAAH,CAAa,GAAGC,KAAhB,CAAzB,EAA+CH,6BAA/C,EAA+CC,qBAA/C,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUG,SAAV,CAAoB,GAAGC,KAAvB,EAAmD;EACvD,OAAOP,8BAAkBC,EAAD,IAAQA,EAAE,CAACK,SAAH,CAAa,GAAGC,KAAhB,CAAzB,EAA+CL,6BAA/C,EAA+CC,qBAA/C,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUK,WAAV,CAAsB,GAAGC,OAAzB,EAAuD;EAC3D,OAAOT,8BAAkBC,EAAD,IAAQA,EAAE,CAACO,WAAH,CAAe,GAAGC,OAAlB,CAAzB,EAAmDP,6BAAnD,EAAmDC,qBAAnD,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUO,WAAV,CAAsB,GAAGC,OAAzB,EAAuD;EAC3D,OAAOX,8BAAkBC,EAAD,IAAQA,EAAE,CAACS,WAAH,CAAe,GAAGC,OAAlB,CAAzB,EAAmDT,6BAAnD,EAAmDC,qBAAnD,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUS,YAAV,CAAuB,GAAGC,QAA1B,EAA0D;EAC9D,OAAOb,8BAAkBC,EAAD,IAAQA,EAAE,CAACW,YAAH,CAAgB,GAAGC,QAAnB,CAAzB,EAAqDX,6BAArD,EAAqDC,qBAArD,CAAP;AACD;AAED;;;;AAGA,gBAAqBW,WAArB,EAAsC;EACpC,OAAOC,
|
|
1
|
+
{"version":3,"file":"api.mjs","mappings":";;;;;;;;;;;aA2CgBA,IAAI;AA1CpB,SAASC,MAAT,EAAiBC,IAAjB,EAAuBC,UAAvB,QAAyC,gCAAzC;AAEA;;;;AAGA,OAAM,SAAUC,QAAV,CAAmB,GAAGC,IAAtB,EAAiD;EACrD,OAAOC,8BAAkBC,EAAD,IAAQA,EAAE,CAACH,QAAH,CAAY,GAAGC,IAAf,CAAzB,EAA6CG,6BAA7C,EAA6CC,oBAA7C,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUC,SAAV,CAAoB,GAAGC,KAAvB,EAAgE;EACpE,OAAOL,8BAAkBC,EAAD,IAAQA,EAAE,CAACG,SAAH,CAAa,GAAGC,KAAhB,CAAzB,EAA+CH,6BAA/C,EAA+CC,qBAA/C,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUG,SAAV,CAAoB,GAAGC,KAAvB,EAAmD;EACvD,OAAOP,8BAAkBC,EAAD,IAAQA,EAAE,CAACK,SAAH,CAAa,GAAGC,KAAhB,CAAzB,EAA+CL,6BAA/C,EAA+CC,qBAA/C,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUK,WAAV,CAAsB,GAAGC,OAAzB,EAAuD;EAC3D,OAAOT,8BAAkBC,EAAD,IAAQA,EAAE,CAACO,WAAH,CAAe,GAAGC,OAAlB,CAAzB,EAAmDP,6BAAnD,EAAmDC,qBAAnD,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUO,WAAV,CAAsB,GAAGC,OAAzB,EAAuD;EAC3D,OAAOX,8BAAkBC,EAAD,IAAQA,EAAE,CAACS,WAAH,CAAe,GAAGC,OAAlB,CAAzB,EAAmDT,6BAAnD,EAAmDC,qBAAnD,CAAP;AACD;AACD;;;;AAGA,OAAM,SAAUS,YAAV,CAAuB,GAAGC,QAA1B,EAA0D;EAC9D,OAAOb,8BAAkBC,EAAD,IAAQA,EAAE,CAACW,YAAH,CAAgB,GAAGC,QAAnB,CAAzB,EAAqDX,6BAArD,EAAqDC,qBAArD,CAAP;AACD;AAED;;;;AAGA,gBAAqBW,WAArB,EAAsC;EACpC,OAAOC,2DAEcC,2BAASF,WAAT,CAFd,EAEGG,IAAI,yBACOD,2BAAS,IAAIrB,MAAJ,EAAT,CADP,EACJuB,MAAM;IACZ,MAAMC,IAAI,GAAK,IAAItB,UAAJ,CAAeoB,IAAf,EAAqBC,MAArB,CAAf;IACA,OAAOE,gEAAkBD,IAAlB,EAAsBjB,6BAAtB,GAA4CiB,IAA5C,EAAgDE,yBAAhD,CAAP;GAHU,wBAFP,gDAAP;AAQD;;AAED,MAAMC,WAAW,gBAAG,IAAI1B,IAAJ,CAAS,UAAT,EAAqB,UAArB,CAApB;AAEA;;;;AAGO,MAAM2B,+BAAgBC,OAAgBF,WAAhB,CAAtB;aAAMG,aAAa;AAE1B;;;;AAGA,OAAO,MAAMC,MAAM,gBAAsCX,kDACvDA,sDAEyBf,6EAFzB,EAEU2B,UAAU,2DACVC,IAAI,6BACRD,UAAU,CAACE,OAAX,CAAmBD,IAAnB,CADQ,EACgB,2BACxBE,4DAAkCC,CAAD,IAAOX,uBAAMO,UAAN,EAAgBN,yBAAhB,CAAxC,CADwB,EAC8C,MACjEM,UAFmB,EAETxB,oBAFS,CADhB,EAGOA,oBAHP,CADM,EAICA,qBAJD,CAFpB,EAMqBA,qBANrB,GAMqBD,6BANrB,CADuD,CAAlD","names":["make","Buffer","Data","TestRandom","feedInts","ints","tsplus_module_2","tr","tsplus_module_1","fileName_1","feedBytes","bytes","feedChars","chars","feedDoubles","doubles","feedStrings","strings","feedBooleans","booleans","initialData","tsplus_module_7","tsplus_module_5","data","buffer","test","tsplus_module_4","tsplus_module_3","defaultData","determinictic_1","make_1","determinictic","random","testRandom","time","setSeed","tsplus_module_9","_"],"sourceRoot":"","sources":["../../../_src/control/TestRandom/api.ts"],"sourcesContent":[null]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestRunner.mjs","mappings":";;;;;;;;AAQA,SAASA,oBAAT,QAAqC,cAArC;AAMA,OAAM,MAAOC,UAAP,CAAiB;EAGrBC,YACWC,QADX,EAEWC,gBAA+BJ,oBAF1C,EAGEK,QAHF,EAIEC,SAJF,
|
|
1
|
+
{"version":3,"file":"TestRunner.mjs","mappings":";;;;;;;;AAQA,SAASA,oBAAT,QAAqC,cAArC;AAMA,OAAM,MAAOC,UAAP,CAAiB;EAGrBC,YACWC,QADX,EAEWC,gBAA+BJ,oBAF1C,EAGEK,QAHF,EAIEC,SAJF,EAI6C;IAHlC;IACA;IAIT,KAAKD,QAAL,GAAiBA,QAAQ,IAAIE,uEAA7B;IACA,KAAKD,SAAL,GAAiBA,SAAS,+BAA1B;EACD;;EAEDE,GAAG,CAACC,IAAD,EAA+B;IAChC,OAAOC,yDAAKP,QAAL,CACJK,GADI,CACAC,IADA,EACME,kCAAoC,EAApC,CADN,GAC8CC,2BAD9C,EAC8CC,qBAD9C,GAGI,CAAC,CAACC,QAAD,EAAWC,OAAX,CAAD,KAAyBL,yBAAKL,QAAL,CAAcS,QAAd,EAAwBC,OAAxB,GAAgC,MAAIA,OAApC,CAH7B,EAGyEF,qBAHzE,CAAP;EAID;;AAlBoB","names":["defaultRuntimeConfig","TestRunner","constructor","executor","runtimeConfig","reporter","bootstrap","tsplus_module_3","run","spec","tsplus_module_5","tsplus_module_7","tsplus_module_6","fileName_1","duration","results"],"sourceRoot":"","sources":["../../_src/control/TestRunner.ts"],"sourcesContent":[null]}
|
package/_src/api.ts
CHANGED
|
@@ -78,14 +78,14 @@ export function testIO<R, E>(label: string, assertion: Lazy<IO<R, E, TestResult>
|
|
|
78
78
|
return Spec.test(Test.fromAssertion(assertion), TestAnnotationMap.empty).labeled(label);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
export function test(label: string, assertion: Lazy<TestResult>): Spec<
|
|
81
|
+
export function test(label: string, assertion: Lazy<TestResult>): Spec<never, never> {
|
|
82
82
|
return testIO(label, IO.succeed(assertion));
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* @tsplus fluent fncts.test.Gen check
|
|
87
87
|
*/
|
|
88
|
-
export function check<R, A>(rv: Gen<R, A>, test: (a: A) => TestResult): IO<R
|
|
88
|
+
export function check<R, A>(rv: Gen<R, A>, test: (a: A) => TestResult): IO<R | TestConfig, never, TestResult> {
|
|
89
89
|
return TestConfig.samples.flatMap((n) =>
|
|
90
90
|
checkStream(rv.sample.forever.filterMap(identity).take(n), (a) => IO.succeed(test(a))),
|
|
91
91
|
);
|
|
@@ -97,7 +97,7 @@ export function check<R, A>(rv: Gen<R, A>, test: (a: A) => TestResult): IO<R & H
|
|
|
97
97
|
export function checkIO<R, A, R1, E>(
|
|
98
98
|
rv: Gen<R, A>,
|
|
99
99
|
test: (a: A) => IO<R1, E, TestResult>,
|
|
100
|
-
): IO<R
|
|
100
|
+
): IO<R | R1 | TestConfig, E, TestResult> {
|
|
101
101
|
return TestConfig.samples.flatMap((n) => checkStream(rv.sample.forever.filterMap(identity).take(n), test));
|
|
102
102
|
}
|
|
103
103
|
|
|
@@ -108,7 +108,7 @@ export function checkAllC<R, A>(
|
|
|
108
108
|
rv: Gen<R, A>,
|
|
109
109
|
concurrency: number,
|
|
110
110
|
test: (a: A) => TestResult,
|
|
111
|
-
): IO<R
|
|
111
|
+
): IO<R | TestConfig, never, TestResult> {
|
|
112
112
|
return checkStreamC(rv.sample.forever.filterMap(identity), concurrency, (a) => IO.succeed(test(a)));
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -119,7 +119,7 @@ export function checkAllIOC<R, A, R1, E>(
|
|
|
119
119
|
rv: Gen<R, A>,
|
|
120
120
|
concurrency: number,
|
|
121
121
|
test: (a: A) => IO<R1, E, TestResult>,
|
|
122
|
-
): IO<R
|
|
122
|
+
): IO<R | R1 | TestConfig, E, TestResult> {
|
|
123
123
|
return checkStreamC(rv.sample.forever.filterMap(identity), concurrency, test);
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -127,7 +127,7 @@ function checkStreamC<R, E, A, R1>(
|
|
|
127
127
|
stream: Stream<R, never, Sample<R, A>>,
|
|
128
128
|
concurrency: number,
|
|
129
129
|
test: (a: A) => IO<R1, E, TestResult>,
|
|
130
|
-
): IO<R
|
|
130
|
+
): IO<R | R1 | TestConfig, E, TestResult> {
|
|
131
131
|
return TestConfig.shrinks.flatMap((shrinks) =>
|
|
132
132
|
shrinkStream(
|
|
133
133
|
stream.zipWithIndex
|
|
@@ -161,7 +161,7 @@ function checkStreamC<R, E, A, R1>(
|
|
|
161
161
|
function checkStream<R, E, A, R1>(
|
|
162
162
|
stream: Stream<R, never, Sample<R, A>>,
|
|
163
163
|
test: (a: A) => IO<R1, E, TestResult>,
|
|
164
|
-
): IO<R
|
|
164
|
+
): IO<R | R1 | TestConfig, E, TestResult> {
|
|
165
165
|
return TestConfig.shrinks.flatMap((shrinks) =>
|
|
166
166
|
shrinkStream(
|
|
167
167
|
stream.zipWithIndex.mapIO(([initial, index]) =>
|
|
@@ -187,7 +187,7 @@ function shrinkStream<R, E, A, R1>(
|
|
|
187
187
|
stream: Stream<R1, never, Sample<R1, Either<E, TestResult>>>,
|
|
188
188
|
maxShrinks: number,
|
|
189
189
|
__tsPlusTrace?: string,
|
|
190
|
-
): IO<R
|
|
190
|
+
): IO<R | R1 | TestConfig, E, TestResult> {
|
|
191
191
|
return stream
|
|
192
192
|
.dropWhile(
|
|
193
193
|
(sample) =>
|
|
@@ -9,11 +9,11 @@ export abstract class AbstractRunnableSpec<R, E> {
|
|
|
9
9
|
abstract runner: TestRunner<R, E>;
|
|
10
10
|
abstract spec: Spec<R, E>;
|
|
11
11
|
|
|
12
|
-
get _run(): URIO<
|
|
12
|
+
get _run(): URIO<TestLogger, ExecutedSpec<E>> {
|
|
13
13
|
return this.runSpec(this.spec);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
runSpec(spec: Spec<R, E>): URIO<
|
|
16
|
+
runSpec(spec: Spec<R, E>): URIO<TestLogger, ExecutedSpec<E>> {
|
|
17
17
|
return this.runner.run(this.aspects.foldLeft(spec, (b, a) => a(b)));
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -6,28 +6,28 @@ import { Annotations } from "./definition.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* @tsplus static fncts.test.AnnotationsOps annotate
|
|
8
8
|
*/
|
|
9
|
-
export function annotate<V>(key: TestAnnotation<V>, value: V): URIO<
|
|
9
|
+
export function annotate<V>(key: TestAnnotation<V>, value: V): URIO<Annotations, void> {
|
|
10
10
|
return IO.serviceWithIO((annotations) => annotations.annotate(key, value), Annotations.Tag);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @tsplus static fncts.test.AnnotationsOps get
|
|
15
15
|
*/
|
|
16
|
-
export function get<V>(key: TestAnnotation<V>): URIO<
|
|
16
|
+
export function get<V>(key: TestAnnotation<V>): URIO<Annotations, V> {
|
|
17
17
|
return IO.serviceWithIO((annotations) => annotations.get(key), Annotations.Tag);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* @tsplus static fncts.test.AnnotationsOps withAnnotations
|
|
22
22
|
*/
|
|
23
|
-
export function withAnnotation<R, E, A>(io: IO<R, E, A>): IO<R
|
|
23
|
+
export function withAnnotation<R, E, A>(io: IO<R, E, A>): IO<R | Annotations, Annotated<E>, Annotated<A>> {
|
|
24
24
|
return IO.serviceWithIO((annotations) => annotations.withAnnotation(io), Annotations.Tag);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @tsplus static fncts.test.AnnotationsOps supervisedFibers
|
|
29
29
|
*/
|
|
30
|
-
export const supervisedFibers: URIO<
|
|
30
|
+
export const supervisedFibers: URIO<Annotations, HashSet<Fiber.Runtime<any, any>>> = IO.serviceWithIO(
|
|
31
31
|
(annotations) => annotations.supervisedFibers,
|
|
32
32
|
Annotations.Tag,
|
|
33
33
|
);
|
|
@@ -4,7 +4,7 @@ import type { FreeBooleanAlgebraIO } from "../FreeBooleanAlgebraIO.js";
|
|
|
4
4
|
|
|
5
5
|
import { hasTypeId } from "@fncts/base/util/predicates";
|
|
6
6
|
|
|
7
|
-
export type AssertResultIO<A> = FreeBooleanAlgebraIO<
|
|
7
|
+
export type AssertResultIO<A> = FreeBooleanAlgebraIO<never, never, AssertionValue<A>>;
|
|
8
8
|
|
|
9
9
|
export const AssertionIOTypeId = Symbol.for("fncts.test.AssertionIO");
|
|
10
10
|
export type AssertionIOTypeId = typeof AssertionIOTypeId;
|
|
@@ -21,7 +21,7 @@ import { TestAnnotationMap } from "../../data/TestAnnotationMap.js";
|
|
|
21
21
|
import { TestTimeoutException } from "../../data/TestTimeoutException.js";
|
|
22
22
|
import { TestLogger } from "../TestLogger.js";
|
|
23
23
|
|
|
24
|
-
export type TestReporter<E> = (duration: number, spec: ExecutedSpec<E>) => URIO<
|
|
24
|
+
export type TestReporter<E> = (duration: number, spec: ExecutedSpec<E>) => URIO<TestLogger, void>;
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* @tsplus static fncts.test.DefaultTestReporter report
|
|
@@ -9,7 +9,7 @@ import { FreeBooleanAlgebra } from "../../data/FreeBooleanAlgebra.js";
|
|
|
9
9
|
export function and_<R, E, A extends A1, R1, E1, A1>(
|
|
10
10
|
self: FreeBooleanAlgebraIO<R, E, A>,
|
|
11
11
|
that: FreeBooleanAlgebraIO<R1, E1, A1>,
|
|
12
|
-
): FreeBooleanAlgebraIO<R
|
|
12
|
+
): FreeBooleanAlgebraIO<R | R1, E | E1, A | A1> {
|
|
13
13
|
return self.zipWith(that, (a, b) => a && b);
|
|
14
14
|
}
|
|
15
15
|
|
|
@@ -20,7 +20,7 @@ export function and_<R, E, A extends A1, R1, E1, A1>(
|
|
|
20
20
|
export function or_<R, E, A extends A1, R1, E1, A1>(
|
|
21
21
|
self: FreeBooleanAlgebraIO<R, E, A>,
|
|
22
22
|
that: FreeBooleanAlgebraIO<R1, E1, A1>,
|
|
23
|
-
): FreeBooleanAlgebraIO<R
|
|
23
|
+
): FreeBooleanAlgebraIO<R | R1, E | E1, A | A1> {
|
|
24
24
|
return self.zipWith(that, (a, b) => a || b);
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -48,14 +48,14 @@ export function isFailure<R, E, A>(self: FreeBooleanAlgebraIO<R, E, A>): IO<R, E
|
|
|
48
48
|
/**
|
|
49
49
|
* @tsplus static fncts.test.FreeBooleanAlgebraIOOps success
|
|
50
50
|
*/
|
|
51
|
-
export function success<A>(a: A): FreeBooleanAlgebraIO<
|
|
51
|
+
export function success<A>(a: A): FreeBooleanAlgebraIO<never, never, A> {
|
|
52
52
|
return IO.succeedNow(FreeBooleanAlgebra.success(a));
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* @tsplus static fncts.test.FreeBooleanAlgebraIOOps failure
|
|
57
57
|
*/
|
|
58
|
-
export function failure<A>(a: A): FreeBooleanAlgebraIO<
|
|
58
|
+
export function failure<A>(a: A): FreeBooleanAlgebraIO<never, never, A> {
|
|
59
59
|
return IO.succeedNow(FreeBooleanAlgebra.failure(a));
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -6,7 +6,7 @@ import { Gen } from "../definition.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* @tsplus fluent fncts.test.Gen array
|
|
8
8
|
*/
|
|
9
|
-
export function array<R, A>(g: Gen<R, A>, constraints: LengthConstraints = {}): Gen<R
|
|
9
|
+
export function array<R, A>(g: Gen<R, A>, constraints: LengthConstraints = {}): Gen<R | Sized, ReadonlyArray<A>> {
|
|
10
10
|
const minLength = constraints.minLength || 0;
|
|
11
11
|
return constraints.maxLength
|
|
12
12
|
? Gen.int({ min: minLength, max: constraints.maxLength }).flatMap((n) => g.arrayN(n))
|
|
@@ -26,6 +26,6 @@ export function arrayN_<R, A>(self: Gen<R, A>, n: number): Gen<R, ReadonlyArray<
|
|
|
26
26
|
export function uniqueArray_<R, A>(
|
|
27
27
|
gen: Gen<R, A>,
|
|
28
28
|
constraints: LengthConstraints & EqConstraint<A> = {},
|
|
29
|
-
): Gen<
|
|
29
|
+
): Gen<Sized | R, ReadonlyArray<A>> {
|
|
30
30
|
return gen.uniqueConc(constraints).map((conc) => conc.toArray);
|
|
31
31
|
}
|
|
@@ -9,7 +9,7 @@ const gapSize = 0xdfff + 1 - 0xd800;
|
|
|
9
9
|
/**
|
|
10
10
|
* @tsplus static fncts.test.GenOps alphaNumericChar
|
|
11
11
|
*/
|
|
12
|
-
export const alphaNumericChar: Gen<
|
|
12
|
+
export const alphaNumericChar: Gen<never, string> = Gen.weighted(
|
|
13
13
|
[Gen.char({ min: 48, max: 57 }), 10],
|
|
14
14
|
[Gen.char({ min: 65, max: 90 }), 26],
|
|
15
15
|
[Gen.char({ min: 97, max: 122 }), 26],
|
|
@@ -18,46 +18,46 @@ export const alphaNumericChar: Gen<unknown, string> = Gen.weighted(
|
|
|
18
18
|
/**
|
|
19
19
|
* @tsplus static fncts.test.GenOps asciiChar
|
|
20
20
|
*/
|
|
21
|
-
export const asciiChar: Gen<
|
|
21
|
+
export const asciiChar: Gen<never, string> = _char(0x00, 0x7f, indexToPrintableIndex);
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* @tsplus static fncts.test.GenOps base64Char
|
|
25
25
|
*/
|
|
26
|
-
export const base64Char: Gen<
|
|
26
|
+
export const base64Char: Gen<never, string> = _char(0, 63, base64ToCharCode);
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* @tsplus static fncts.test.GenOps char
|
|
30
30
|
*/
|
|
31
|
-
export function char(constraints: Required<NumberConstraints>): Gen<
|
|
31
|
+
export function char(constraints: Required<NumberConstraints>): Gen<never, string> {
|
|
32
32
|
return _char(constraints.min, constraints.max, identity);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* @tsplus static fncts.test.GenOps char16
|
|
37
37
|
*/
|
|
38
|
-
export const char16: Gen<
|
|
38
|
+
export const char16: Gen<never, string> = _char(0x0000, 0xffff, indexToPrintableIndex);
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* @tsplus static fncts.test.GenOps fullUnicodeChar
|
|
42
42
|
*/
|
|
43
|
-
export const fullUnicodeChar: Gen<
|
|
43
|
+
export const fullUnicodeChar: Gen<never, string> = _char(0x0000, 0x10ffff - gapSize, unicodeToCharCode);
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* @tsplus static fncts.test.GenOps hexChar
|
|
47
47
|
*/
|
|
48
|
-
export const hexChar: Gen<
|
|
48
|
+
export const hexChar: Gen<never, string> = _char(0, 15, hexToCharCode);
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
51
|
* @tsplus static fncts.test.GenOps printableChar
|
|
52
52
|
*/
|
|
53
|
-
export const printableChar: Gen<
|
|
53
|
+
export const printableChar: Gen<never, string> = char({ min: 0x20, max: 0x7e });
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* @tsplus static fncts.test.GenOps unicodeChar
|
|
57
57
|
*/
|
|
58
|
-
export const unicodeChar: Gen<
|
|
58
|
+
export const unicodeChar: Gen<never, string> = _char(0x0000, 0xffff - gapSize, unicodeToCharCode);
|
|
59
59
|
|
|
60
|
-
function _char(min: number, max: number, mapToCode: (v: number) => number): Gen<
|
|
60
|
+
function _char(min: number, max: number, mapToCode: (v: number) => number): Gen<never, string> {
|
|
61
61
|
return Gen.int({ min, max }).map((n) => String.fromCharCode(mapToCode(n)));
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -8,7 +8,7 @@ import { Gen } from "../definition.js";
|
|
|
8
8
|
/**
|
|
9
9
|
* @tsplus fluent fncts.test.Gen conc
|
|
10
10
|
*/
|
|
11
|
-
export function conc<R, A>(self: Gen<R, A>, constraints: LengthConstraints = {}): Gen<R
|
|
11
|
+
export function conc<R, A>(self: Gen<R, A>, constraints: LengthConstraints = {}): Gen<R | Sized, Conc<A>> {
|
|
12
12
|
const minLength = constraints.minLength ?? 0;
|
|
13
13
|
return constraints.maxLength
|
|
14
14
|
? Gen.int({ min: minLength, max: constraints.maxLength }).flatMap((n) => self.concN(n))
|
|
@@ -30,7 +30,7 @@ export function concN_<R, A>(g: Gen<R, A>, n: number): Gen<R, Conc<A>> {
|
|
|
30
30
|
export function uniqueConc_<R, A>(
|
|
31
31
|
self: Gen<R, A>,
|
|
32
32
|
constraints: LengthConstraints & EqConstraint<A> = {},
|
|
33
|
-
): Gen<
|
|
33
|
+
): Gen<Sized | R, Conc<A>> {
|
|
34
34
|
const minLength = constraints.minLength ?? 0;
|
|
35
35
|
const eq = constraints.eq ?? Eq({ equals: Equatable.strictEquals });
|
|
36
36
|
return constraints.maxLength
|
|
@@ -19,7 +19,7 @@ import { Gen } from "../definition.js";
|
|
|
19
19
|
/**
|
|
20
20
|
* @tsplus static fncts.test.GenOps arrayInt64
|
|
21
21
|
*/
|
|
22
|
-
export function arrayInt64(min: ArrayInt64, max: ArrayInt64): Gen<
|
|
22
|
+
export function arrayInt64(min: ArrayInt64, max: ArrayInt64): Gen<never, ArrayInt64> {
|
|
23
23
|
return new Gen(
|
|
24
24
|
Stream.fromIO(computeArrayInt64GenerateRange(min, max, undefined, undefined))
|
|
25
25
|
.flatMap(({ min, max }) => Stream.repeatIO(Random.nextArrayIntBetween(min, max)))
|
|
@@ -35,7 +35,7 @@ export function arrayInt64(min: ArrayInt64, max: ArrayInt64): Gen<unknown, Array
|
|
|
35
35
|
/**
|
|
36
36
|
* @tsplus static fncts.test.GenOps double
|
|
37
37
|
*/
|
|
38
|
-
export function double(constraints: NumberConstraints & FloatConstraints = {}): Gen<
|
|
38
|
+
export function double(constraints: NumberConstraints & FloatConstraints = {}): Gen<never, number> {
|
|
39
39
|
const {
|
|
40
40
|
noDefaultInfinity = false,
|
|
41
41
|
noNaN = false,
|
|
@@ -6,7 +6,7 @@ import { Gen } from "../definition.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* @tsplus static fncts.test.GenOps float
|
|
8
8
|
*/
|
|
9
|
-
export function float(constraints: NumberConstraints & FloatConstraints = {}): Gen<
|
|
9
|
+
export function float(constraints: NumberConstraints & FloatConstraints = {}): Gen<never, number> {
|
|
10
10
|
const {
|
|
11
11
|
noDefaultInfinity = false,
|
|
12
12
|
min = noDefaultInfinity ? -MAX_VALUE_32 : Number.NEGATIVE_INFINITY,
|
|
@@ -7,49 +7,49 @@ import { alphaNumericChar, asciiChar, base64Char, char16, fullUnicodeChar, hexCh
|
|
|
7
7
|
/**
|
|
8
8
|
* @tsplus static fncts.test.GenOps asciiString
|
|
9
9
|
*/
|
|
10
|
-
export function asciiString<R>(constraints?: LengthConstraints): Gen<R
|
|
10
|
+
export function asciiString<R>(constraints?: LengthConstraints): Gen<R | Sized, string> {
|
|
11
11
|
return asciiChar.string(constraints);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @tsplus static fncts.test.GenOps alphaNumericString
|
|
16
16
|
*/
|
|
17
|
-
export function alphaNumericString(constraints: LengthConstraints = {}): Gen<
|
|
17
|
+
export function alphaNumericString(constraints: LengthConstraints = {}): Gen<Sized, string> {
|
|
18
18
|
return alphaNumericChar.string(constraints);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* @tsplus static fncts.test.GenOps base64String
|
|
23
23
|
*/
|
|
24
|
-
export function base64String(constraints: LengthConstraints = {}): Gen<
|
|
24
|
+
export function base64String(constraints: LengthConstraints = {}): Gen<Sized, string> {
|
|
25
25
|
return base64Char.string(constraints);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* @tsplus static fncts.test.GenOps fullUnicodeString
|
|
30
30
|
*/
|
|
31
|
-
export function fullUnicodeString(constraints: LengthConstraints = {}): Gen<
|
|
31
|
+
export function fullUnicodeString(constraints: LengthConstraints = {}): Gen<Sized, string> {
|
|
32
32
|
return fullUnicodeChar.string(constraints);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* @tsplus static fncts.test.GenOps hexString
|
|
37
37
|
*/
|
|
38
|
-
export function hexString(constraints: LengthConstraints = {}): Gen<
|
|
38
|
+
export function hexString(constraints: LengthConstraints = {}): Gen<Sized, string> {
|
|
39
39
|
return hexChar.string(constraints);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* @tsplus static fncts.test.GenOps string16
|
|
44
44
|
*/
|
|
45
|
-
export function string16(constraints: LengthConstraints = {}): Gen<
|
|
45
|
+
export function string16(constraints: LengthConstraints = {}): Gen<Sized, string> {
|
|
46
46
|
return char16.string(constraints);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* @tsplus fluent fncts.test.Gen string
|
|
51
51
|
*/
|
|
52
|
-
export function string<R>(char: Gen<R, string>, constraints: LengthConstraints = {}): Gen<R
|
|
52
|
+
export function string<R>(char: Gen<R, string>, constraints: LengthConstraints = {}): Gen<R | Sized, string> {
|
|
53
53
|
const min = constraints.minLength || 0;
|
|
54
54
|
return constraints.maxLength
|
|
55
55
|
? Gen.bounded(min, constraints.maxLength, (n) => char.stringN(n))
|
|
@@ -66,6 +66,6 @@ export function stringN<R>(char: Gen<R, string>, n: number): Gen<R, string> {
|
|
|
66
66
|
/**
|
|
67
67
|
* @tsplus static fncts.test.GenOps unicodeString
|
|
68
68
|
*/
|
|
69
|
-
export function unicodeString(constraints: LengthConstraints = {}): Gen<
|
|
69
|
+
export function unicodeString(constraints: LengthConstraints = {}): Gen<Sized, string> {
|
|
70
70
|
return unicodeChar.string(constraints);
|
|
71
71
|
}
|