@fncts/test 0.0.39 → 0.0.40
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/_cjs/api.cjs +2 -2
- package/_cjs/api.cjs.map +1 -1
- package/_cjs/control/AbstractRunnableSpec.cjs +2 -2
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
- package/_cjs/control/Annotations/api.cjs +3 -4
- package/_cjs/control/Annotations/api.cjs.map +1 -1
- package/_cjs/control/Annotations/definition.cjs +4 -6
- package/_cjs/control/Annotations/definition.cjs.map +1 -1
- package/_cjs/control/Annotations/live.cjs +3 -4
- package/_cjs/control/Annotations/live.cjs.map +1 -1
- package/_cjs/control/Annotations.cjs +8 -8
- package/_cjs/control/Annotations.cjs.map +1 -1
- package/_cjs/control/Assertion/api.cjs +26 -30
- package/_cjs/control/Assertion/api.cjs.map +1 -1
- package/_cjs/control/Assertion/definition.cjs +3 -3
- package/_cjs/control/Assertion/definition.cjs.map +1 -1
- package/_cjs/control/Assertion.cjs +8 -8
- package/_cjs/control/Assertion.cjs.map +1 -1
- package/_cjs/control/AssertionIO/api.cjs +2 -2
- package/_cjs/control/AssertionIO/api.cjs.map +1 -1
- package/_cjs/control/AssertionIO/definition.cjs +3 -4
- package/_cjs/control/AssertionIO/definition.cjs.map +1 -1
- package/_cjs/control/AssertionIO.cjs +8 -8
- package/_cjs/control/AssertionIO.cjs.map +1 -1
- package/_cjs/control/DefaultRunnableSpec.cjs +2 -2
- package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/definition.cjs +1 -2
- package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/render.cjs +2 -2
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter.cjs +8 -8
- package/_cjs/control/DefaultTestReporter.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +2 -2
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +1 -2
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO.cjs +8 -8
- package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -1
- package/_cjs/control/Gen/api.cjs +63 -126
- package/_cjs/control/Gen/api.cjs.map +1 -1
- package/_cjs/control/Gen.cjs +8 -8
- package/_cjs/control/Gen.cjs.map +1 -1
- package/_cjs/control/Live/definition.cjs +3 -4
- package/_cjs/control/Live/definition.cjs.map +1 -1
- package/_cjs/control/Live.cjs.map +1 -1
- package/_cjs/control/Sample/api.cjs +10 -18
- package/_cjs/control/Sample/api.cjs.map +1 -1
- package/_cjs/control/Sample/definition.cjs.map +1 -1
- package/_cjs/control/Sample.cjs +8 -8
- package/_cjs/control/Sample.cjs.map +1 -1
- package/_cjs/control/Sized/api.cjs +3 -4
- package/_cjs/control/Sized/api.cjs.map +1 -1
- package/_cjs/control/Sized/definition.cjs +3 -4
- package/_cjs/control/Sized/definition.cjs.map +1 -1
- package/_cjs/control/Sized/live.cjs +2 -2
- package/_cjs/control/Sized/live.cjs.map +1 -1
- package/_cjs/control/Sized.cjs +8 -8
- package/_cjs/control/Sized.cjs.map +1 -1
- package/_cjs/control/Spec/api.cjs +18 -34
- package/_cjs/control/Spec/api.cjs.map +1 -1
- package/_cjs/control/Spec/definition.cjs +1 -2
- package/_cjs/control/Spec/definition.cjs.map +1 -1
- package/_cjs/control/Spec.cjs +8 -8
- package/_cjs/control/Spec.cjs.map +1 -1
- package/_cjs/control/SummaryBuilder.cjs +3 -4
- package/_cjs/control/SummaryBuilder.cjs.map +1 -1
- package/_cjs/control/Test.cjs +3 -4
- package/_cjs/control/Test.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/api.cjs +9 -16
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +3 -6
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer.cjs +8 -8
- package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -1
- package/_cjs/control/TestAspect/api.cjs +8 -9
- package/_cjs/control/TestAspect/api.cjs.map +1 -1
- package/_cjs/control/TestAspect.cjs +8 -8
- package/_cjs/control/TestAspect.cjs.map +1 -1
- package/_cjs/control/TestClock/api.cjs +7 -8
- package/_cjs/control/TestClock/api.cjs.map +1 -1
- package/_cjs/control/TestClock/definition.cjs +35 -38
- package/_cjs/control/TestClock/definition.cjs.map +1 -1
- package/_cjs/control/TestClock.cjs +8 -8
- package/_cjs/control/TestClock.cjs.map +1 -1
- package/_cjs/control/TestConsole/api.cjs +7 -8
- package/_cjs/control/TestConsole/api.cjs.map +1 -1
- package/_cjs/control/TestConsole/definition.cjs +14 -15
- package/_cjs/control/TestConsole/definition.cjs.map +1 -1
- package/_cjs/control/TestConsole.cjs +8 -8
- package/_cjs/control/TestConsole.cjs.map +1 -1
- package/_cjs/control/TestEnvironment.cjs +4 -6
- package/_cjs/control/TestEnvironment.cjs.map +1 -1
- package/_cjs/control/TestLogger.cjs +4 -6
- package/_cjs/control/TestLogger.cjs.map +1 -1
- package/_cjs/control/TestRandom/api.cjs +5 -8
- package/_cjs/control/TestRandom/api.cjs.map +1 -1
- package/_cjs/control/TestRandom/definition.cjs +36 -40
- package/_cjs/control/TestRandom/definition.cjs.map +1 -1
- package/_cjs/control/TestRandom.cjs +8 -8
- package/_cjs/control/TestRandom.cjs.map +1 -1
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +4 -5
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
- package/_cjs/data/AssertionData.cjs +5 -8
- package/_cjs/data/AssertionData.cjs.map +1 -1
- package/_cjs/data/AssertionResult.cjs +3 -4
- package/_cjs/data/AssertionResult.cjs.map +1 -1
- package/_cjs/data/AssertionValue/api.cjs +2 -2
- package/_cjs/data/AssertionValue/api.cjs.map +1 -1
- package/_cjs/data/AssertionValue/definition.cjs +3 -4
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
- package/_cjs/data/AssertionValue.cjs +8 -8
- package/_cjs/data/AssertionValue.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/api.cjs +4 -6
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec.cjs +8 -8
- package/_cjs/data/ExecutedSpec.cjs.map +1 -1
- package/_cjs/data/ExecutionResult.cjs +8 -14
- package/_cjs/data/ExecutionResult.cjs.map +1 -1
- package/_cjs/data/FailureDetails.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +13 -22
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs +1 -2
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra.cjs +8 -8
- package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -1
- package/_cjs/data/GenFailureDetails.cjs.map +1 -1
- package/_cjs/data/LogLine/Fragment.cjs +2 -2
- package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
- package/_cjs/data/LogLine/Line.cjs +5 -8
- package/_cjs/data/LogLine/Line.cjs.map +1 -1
- package/_cjs/data/LogLine/Message.cjs +7 -12
- package/_cjs/data/LogLine/Message.cjs.map +1 -1
- package/_cjs/data/LogLine/Style.cjs +8 -16
- package/_cjs/data/LogLine/Style.cjs.map +1 -1
- package/_cjs/data/LogLine/api.cjs +3 -4
- package/_cjs/data/LogLine/api.cjs.map +1 -1
- package/_cjs/data/Render/definition.cjs +3 -6
- package/_cjs/data/Render/definition.cjs.map +1 -1
- package/_cjs/data/Render.cjs +8 -8
- package/_cjs/data/Render.cjs.map +1 -1
- package/_cjs/data/RenderParam/api.cjs.map +1 -1
- package/_cjs/data/RenderParam/definition.cjs +1 -2
- package/_cjs/data/RenderParam/definition.cjs.map +1 -1
- package/_cjs/data/RenderParam.cjs +8 -8
- package/_cjs/data/RenderParam.cjs.map +1 -1
- package/_cjs/data/Summary.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/api.cjs +15 -27
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/definition.cjs +4 -6
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotation.cjs +8 -8
- package/_cjs/data/TestAnnotation.cjs.map +1 -1
- package/_cjs/data/TestAnnotationMap.cjs +2 -2
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
- package/_cjs/data/TestArgs.cjs.map +1 -1
- package/_cjs/data/TestConfig.cjs +7 -12
- package/_cjs/data/TestConfig.cjs.map +1 -1
- package/_cjs/data/TestFailure.cjs +3 -4
- package/_cjs/data/TestFailure.cjs.map +1 -1
- package/_cjs/data/TestSuccess.cjs +2 -4
- package/_cjs/data/TestSuccess.cjs.map +1 -1
- package/_cjs/demo.cjs +2 -2
- package/_cjs/demo.cjs.map +1 -1
- package/_cjs/util/math.cjs +7 -14
- package/_cjs/util/math.cjs.map +1 -1
- package/_cjs/vitest.cjs +37 -29
- package/_cjs/vitest.cjs.map +1 -1
- package/_mjs/api.mjs.map +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
- package/_mjs/control/Annotations.mjs +3 -2
- package/_mjs/control/Annotations.mjs.map +1 -1
- package/_mjs/control/Assertion/api.mjs +7 -1
- package/_mjs/control/Assertion/api.mjs.map +1 -1
- package/_mjs/control/Assertion/definition.mjs +1 -1
- package/_mjs/control/Assertion/definition.mjs.map +1 -1
- package/_mjs/control/Assertion.mjs +2 -1
- package/_mjs/control/Assertion.mjs.map +1 -1
- package/_mjs/control/AssertionIO/definition.mjs.map +1 -1
- package/_mjs/control/AssertionIO.mjs +2 -1
- package/_mjs/control/AssertionIO.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter.mjs +2 -1
- package/_mjs/control/DefaultTestReporter.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO.mjs +2 -1
- package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -1
- package/_mjs/control/Gen/api.mjs +0 -2
- package/_mjs/control/Gen/api.mjs.map +1 -1
- package/_mjs/control/Gen.mjs +3 -2
- package/_mjs/control/Gen.mjs.map +1 -1
- package/_mjs/control/Live/definition.mjs +1 -2
- package/_mjs/control/Live/definition.mjs.map +1 -1
- package/_mjs/control/Live.mjs +1 -0
- package/_mjs/control/Live.mjs.map +1 -1
- package/_mjs/control/Sample/api.mjs.map +1 -1
- package/_mjs/control/Sample/definition.mjs.map +1 -1
- package/_mjs/control/Sample.mjs +2 -1
- package/_mjs/control/Sample.mjs.map +1 -1
- package/_mjs/control/Sized/live.mjs.map +1 -1
- package/_mjs/control/Sized.mjs +3 -2
- package/_mjs/control/Sized.mjs.map +1 -1
- package/_mjs/control/Spec/api.mjs.map +1 -1
- package/_mjs/control/Spec/definition.mjs.map +1 -1
- package/_mjs/control/Spec.mjs +2 -1
- package/_mjs/control/Spec.mjs.map +1 -1
- package/_mjs/control/SummaryBuilder.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +0 -2
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer.mjs +2 -1
- package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -1
- package/_mjs/control/TestAspect.mjs +2 -1
- package/_mjs/control/TestAspect.mjs.map +1 -1
- package/_mjs/control/TestClock/definition.mjs +30 -30
- package/_mjs/control/TestClock/definition.mjs.map +1 -1
- package/_mjs/control/TestClock.mjs +2 -1
- package/_mjs/control/TestClock.mjs.map +1 -1
- package/_mjs/control/TestConsole/definition.mjs +11 -11
- package/_mjs/control/TestConsole/definition.mjs.map +1 -1
- package/_mjs/control/TestConsole.mjs +2 -1
- package/_mjs/control/TestConsole.mjs.map +1 -1
- package/_mjs/control/TestLogger.mjs.map +1 -1
- package/_mjs/control/TestRandom/definition.mjs +33 -36
- package/_mjs/control/TestRandom/definition.mjs.map +1 -1
- package/_mjs/control/TestRandom.mjs +2 -1
- package/_mjs/control/TestRandom.mjs.map +1 -1
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +1 -1
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
- package/_mjs/data/AssertionData.mjs.map +1 -1
- package/_mjs/data/AssertionValue.mjs +2 -1
- package/_mjs/data/AssertionValue.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec/definition.mjs +0 -2
- package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec.mjs +2 -1
- package/_mjs/data/ExecutedSpec.mjs.map +1 -1
- package/_mjs/data/ExecutionResult.mjs.map +1 -1
- package/_mjs/data/FailureDetails.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +2 -2
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs +0 -4
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra.mjs +2 -1
- package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -1
- package/_mjs/data/GenFailureDetails.mjs.map +1 -1
- package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
- package/_mjs/data/LogLine/Line.mjs.map +1 -1
- package/_mjs/data/LogLine/Message.mjs.map +1 -1
- package/_mjs/data/Render/definition.mjs +0 -2
- package/_mjs/data/Render/definition.mjs.map +1 -1
- package/_mjs/data/Render.mjs +2 -1
- package/_mjs/data/Render.mjs.map +1 -1
- package/_mjs/data/RenderParam/api.mjs.map +1 -1
- package/_mjs/data/RenderParam/definition.mjs +0 -2
- package/_mjs/data/RenderParam/definition.mjs.map +1 -1
- package/_mjs/data/RenderParam.mjs +2 -1
- package/_mjs/data/RenderParam.mjs.map +1 -1
- package/_mjs/data/Summary.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/api.mjs +1 -1
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
- package/_mjs/data/TestAnnotation.mjs +2 -1
- package/_mjs/data/TestAnnotation.mjs.map +1 -1
- package/_mjs/data/TestAnnotationMap.mjs +1 -2
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
- package/_mjs/data/TestArgs.mjs +1 -0
- package/_mjs/data/TestArgs.mjs.map +1 -1
- package/_mjs/data/TestConfig.mjs.map +1 -1
- package/_mjs/data/TestFailure.mjs +0 -2
- package/_mjs/data/TestFailure.mjs.map +1 -1
- package/_mjs/data/TestSuccess.mjs +0 -2
- package/_mjs/data/TestSuccess.mjs.map +1 -1
- package/_mjs/util/math.mjs +0 -2
- package/_mjs/util/math.mjs.map +1 -1
- package/_mjs/vitest.mjs +21 -11
- package/_mjs/vitest.mjs.map +1 -1
- package/_src/control/Annotations.ts +3 -2
- package/_src/control/Assertion/api.ts +8 -0
- package/_src/control/Assertion/definition.ts +4 -1
- package/_src/control/Assertion.ts +2 -1
- package/_src/control/AssertionIO/definition.ts +4 -1
- package/_src/control/AssertionIO.ts +2 -1
- package/_src/control/DefaultTestReporter/render.ts +2 -2
- package/_src/control/DefaultTestReporter.ts +2 -1
- package/_src/control/FreeBooleanAlgebraIO.ts +2 -1
- package/_src/control/Gen/api.ts +4 -4
- package/_src/control/Gen.ts +3 -2
- package/_src/control/Live.ts +1 -0
- package/_src/control/Sample/definition.ts +4 -1
- package/_src/control/Sample.ts +2 -1
- package/_src/control/Sized.ts +3 -2
- package/_src/control/Spec/definition.ts +12 -3
- package/_src/control/Spec.ts +2 -1
- package/_src/control/TestAnnotationRenderer.ts +2 -1
- package/_src/control/TestAspect.ts +2 -1
- package/_src/control/TestClock/definition.ts +9 -2
- package/_src/control/TestClock.ts +2 -1
- package/_src/control/TestConsole/definition.ts +5 -1
- package/_src/control/TestConsole.ts +2 -1
- package/_src/control/TestRandom/definition.ts +4 -1
- package/_src/control/TestRandom.ts +2 -1
- package/_src/control/TestRenderer/ConsoleRenderer.ts +1 -1
- package/_src/control.ts +21 -23
- package/_src/data/AssertionData.ts +4 -1
- package/_src/data/AssertionValue.ts +2 -1
- package/_src/data/ExecutedSpec/definition.ts +8 -2
- package/_src/data/ExecutedSpec.ts +2 -1
- package/_src/data/FailureDetails.ts +4 -1
- package/_src/data/FreeBooleanAlgebra/api.ts +4 -4
- package/_src/data/FreeBooleanAlgebra/definition.ts +8 -2
- package/_src/data/FreeBooleanAlgebra.ts +2 -1
- package/_src/data/GenFailureDetails.ts +5 -1
- package/_src/data/LogLine/Fragment.ts +4 -1
- package/_src/data/LogLine/Line.ts +4 -1
- package/_src/data/Render/definition.ts +9 -2
- package/_src/data/Render.ts +2 -1
- package/_src/data/RenderParam.ts +2 -1
- package/_src/data/Summary.ts +6 -1
- package/_src/data/TestAnnotation/api.ts +6 -6
- package/_src/data/TestAnnotation.ts +2 -1
- package/_src/data/TestArgs.ts +1 -0
- package/_src/data.ts +19 -18
- package/_src/index.ts +7 -6
- package/_src/util.ts +1 -0
- package/_src/vitest.ts +26 -15
- package/api.d.ts +5 -5
- package/control/AbstractRunnableSpec.d.ts +1 -1
- package/control/Annotations/definition.d.ts +1 -1
- package/control/Annotations.d.ts +2 -2
- package/control/Assertion/api.d.ts +2 -0
- package/control/Assertion.d.ts +1 -1
- package/control/AssertionIO.d.ts +1 -1
- package/control/DefaultTestReporter.d.ts +1 -1
- package/control/FreeBooleanAlgebraIO/api.d.ts +2 -2
- package/control/FreeBooleanAlgebraIO.d.ts +1 -1
- package/control/Gen/api.d.ts +13 -13
- package/control/Gen.d.ts +2 -2
- package/control/Live/definition.d.ts +2 -2
- package/control/Sample/api.d.ts +6 -6
- package/control/Sample.d.ts +1 -1
- package/control/Sized/api.d.ts +1 -1
- package/control/Sized/definition.d.ts +1 -1
- package/control/Sized.d.ts +2 -2
- package/control/Spec/api.d.ts +9 -9
- package/control/Spec.d.ts +1 -1
- package/control/TestAnnotationRenderer.d.ts +1 -1
- package/control/TestAspect.d.ts +1 -1
- package/control/TestClock/definition.d.ts +1 -1
- package/control/TestClock.d.ts +1 -1
- package/control/TestConsole/definition.d.ts +1 -1
- package/control/TestConsole.d.ts +1 -1
- package/control/TestLogger.d.ts +1 -1
- package/control/TestRandom/api.d.ts +1 -1
- package/control/TestRandom/definition.d.ts +1 -1
- package/control/TestRandom.d.ts +1 -1
- package/control.d.ts +20 -23
- package/data/AssertionValue.d.ts +1 -1
- package/data/ExecutedSpec.d.ts +1 -1
- package/data/FreeBooleanAlgebra.d.ts +1 -1
- package/data/Render.d.ts +1 -1
- package/data/RenderParam.d.ts +1 -1
- package/data/TestAnnotation/api.d.ts +6 -6
- package/data/TestAnnotation.d.ts +1 -1
- package/data/TestConfig.d.ts +1 -1
- package/data.d.ts +18 -18
- package/index.d.ts +5 -5
- package/package.json +4 -4
- package/vitest.d.ts +11 -5
package/_src/control/Gen.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: barrel, include: ./Gen/*.ts }
|
|
2
|
-
export * from "./Gen/api.js";
|
|
3
|
-
export * from "./Gen/constraints.js";
|
|
4
3
|
export * from "./Gen/definition.js";
|
|
4
|
+
export * from "./Gen/constraints.js";
|
|
5
|
+
export * from "./Gen/api.js";
|
|
5
6
|
// codegen:end
|
package/_src/control/Live.ts
CHANGED
|
@@ -3,5 +3,8 @@
|
|
|
3
3
|
* @tsplus companion fncts.test.SampleOps
|
|
4
4
|
*/
|
|
5
5
|
export class Sample<R, A> {
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(
|
|
7
|
+
readonly value: A,
|
|
8
|
+
readonly shrink: Stream<R, never, Maybe<Sample<R, A>>>,
|
|
9
|
+
) {}
|
|
7
10
|
}
|
package/_src/control/Sample.ts
CHANGED
package/_src/control/Sized.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: barrel, include: ./Sized/*.ts }
|
|
2
|
-
export * from "./Sized/api.js";
|
|
3
|
-
export * from "./Sized/definition.js";
|
|
4
3
|
export * from "./Sized/live.js";
|
|
4
|
+
export * from "./Sized/definition.js";
|
|
5
|
+
export * from "./Sized/api.js";
|
|
5
6
|
// codegen:end
|
|
@@ -38,7 +38,10 @@ export const enum SpecCaseTag {
|
|
|
38
38
|
*/
|
|
39
39
|
export class ExecCase<Spec> {
|
|
40
40
|
readonly _tag = SpecCaseTag.Exec;
|
|
41
|
-
constructor(
|
|
41
|
+
constructor(
|
|
42
|
+
readonly exec: ExecutionStrategy,
|
|
43
|
+
readonly spec: Spec,
|
|
44
|
+
) {}
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
/**
|
|
@@ -46,7 +49,10 @@ export class ExecCase<Spec> {
|
|
|
46
49
|
*/
|
|
47
50
|
export class LabeledCase<Spec> {
|
|
48
51
|
readonly _tag = SpecCaseTag.Labeled;
|
|
49
|
-
constructor(
|
|
52
|
+
constructor(
|
|
53
|
+
readonly label: string,
|
|
54
|
+
readonly spec: Spec,
|
|
55
|
+
) {}
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
/**
|
|
@@ -73,7 +79,10 @@ export class TestCase<R, E, T> {
|
|
|
73
79
|
readonly _E!: () => E;
|
|
74
80
|
readonly _A!: () => T;
|
|
75
81
|
readonly _tag = SpecCaseTag.Test;
|
|
76
|
-
constructor(
|
|
82
|
+
constructor(
|
|
83
|
+
readonly test: IO<R, E, T>,
|
|
84
|
+
readonly annotations: TestAnnotationMap,
|
|
85
|
+
) {}
|
|
77
86
|
}
|
|
78
87
|
|
|
79
88
|
/**
|
package/_src/control/Spec.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: barrel, include: ./TestAnnotationRenderer/*.ts }
|
|
2
|
-
export * from "./TestAnnotationRenderer/api.js";
|
|
3
3
|
export * from "./TestAnnotationRenderer/definition.js";
|
|
4
|
+
export * from "./TestAnnotationRenderer/api.js";
|
|
4
5
|
// codegen:end
|
|
@@ -8,11 +8,18 @@ import { FiberStatusTag } from "@fncts/io/FiberStatus";
|
|
|
8
8
|
import { TestAnnotation } from "@fncts/test/data/TestAnnotation";
|
|
9
9
|
|
|
10
10
|
export class Data {
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(
|
|
12
|
+
readonly duration: number,
|
|
13
|
+
readonly sleeps: List<readonly [number, Future<never, void>]>,
|
|
14
|
+
) {}
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
export class Sleep {
|
|
15
|
-
constructor(
|
|
18
|
+
constructor(
|
|
19
|
+
readonly duration: number,
|
|
20
|
+
readonly promise: Future<never, void>,
|
|
21
|
+
readonly fiberId: FiberId,
|
|
22
|
+
) {}
|
|
16
23
|
}
|
|
17
24
|
|
|
18
25
|
interface Start {
|
|
@@ -15,7 +15,11 @@ export class ConsoleData extends CaseClass<{
|
|
|
15
15
|
* @tsplus companion fncts.test.TestConsoleOps
|
|
16
16
|
*/
|
|
17
17
|
export class TestConsole implements Console {
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(
|
|
19
|
+
readonly consoleState: Ref<ConsoleData>,
|
|
20
|
+
readonly live: Live,
|
|
21
|
+
readonly debugState: FiberRef<boolean>,
|
|
22
|
+
) {}
|
|
19
23
|
show(...input: ReadonlyArray<unknown>): UIO<void> {
|
|
20
24
|
return this.consoleState.update((data) =>
|
|
21
25
|
data.copy({
|
|
@@ -12,7 +12,10 @@ export const TestRandomTag = Tag<TestRandom>("fncts.test.TestRandom");
|
|
|
12
12
|
* @tsplus companion fncts.test.TestRandomOps
|
|
13
13
|
*/
|
|
14
14
|
export class TestRandom implements Random {
|
|
15
|
-
constructor(
|
|
15
|
+
constructor(
|
|
16
|
+
readonly randomState: Ref<Data>,
|
|
17
|
+
readonly bufferState: Ref<Buffer>,
|
|
18
|
+
) {}
|
|
16
19
|
clearBooleans: UIO<void> = this.bufferState.update((buff) => buff.copy({ booleans: Vector.empty() }));
|
|
17
20
|
clearBytes: UIO<void> = this.bufferState.update((buff) => buff.copy({ bytes: Vector.empty() }));
|
|
18
21
|
clearChars: UIO<void> = this.bufferState.update((buff) => buff.copy({ chars: Vector.empty() }));
|
|
@@ -50,7 +50,7 @@ export function renderSingle(result: ExecutionResult, testAnnotationRenderer: Te
|
|
|
50
50
|
Other: () => new Message(Vector.from(result.lines)),
|
|
51
51
|
});
|
|
52
52
|
const renderedAnnotations = renderAnnotations(result.annotations, testAnnotationRenderer);
|
|
53
|
-
return renderToStringLines(output + renderedAnnotations).join("");
|
|
53
|
+
return renderToStringLines(output + renderedAnnotations).join("\n");
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
function renderSuite(status: Status, offset: number, message: Message) {
|
package/_src/control.ts
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: type-barrel, include: ./control/*.ts }
|
|
2
|
-
export type {} from "./control/AbstractRunnableSpec.js";
|
|
3
|
-
export type {} from "./control/Annotations.js";
|
|
4
|
-
export type {} from "./control/Assertion.js";
|
|
5
|
-
export type {} from "./control/AssertionIO.js";
|
|
6
|
-
export type {} from "./control/DefaultRunnableSpec.js";
|
|
7
|
-
export type {} from "./control/DefaultTestReporter.js";
|
|
8
|
-
export type {} from "./control/FreeBooleanAlgebraIO.js";
|
|
9
|
-
export type {} from "./control/Gen.js";
|
|
10
|
-
export type {} from "./control/Live.js";
|
|
11
|
-
export type {} from "./control/RunnableSpec.js";
|
|
12
|
-
export type {} from "./control/Sample.js";
|
|
13
|
-
export type {} from "./control/Sized.js";
|
|
14
|
-
export type {} from "./control/Spec.js";
|
|
15
|
-
export type {} from "./control/SummaryBuilder.js";
|
|
16
|
-
export type {} from "./control/Test.js";
|
|
17
|
-
export type {} from "./control/TestAnnotationRenderer.js";
|
|
18
|
-
export type {} from "./control/TestAspect.js";
|
|
19
|
-
export type {} from "./control/TestClock.js";
|
|
20
|
-
export type {} from "./control/TestConsole.js";
|
|
21
|
-
export type {} from "./control/TestEnvironment.js";
|
|
22
|
-
export type {} from "./control/TestExecutor.js";
|
|
23
|
-
export type {} from "./control/TestLogger.js";
|
|
24
3
|
export type {} from "./control/TestRandom.js";
|
|
25
|
-
export type {} from "./control/
|
|
4
|
+
export type {} from "./control/TestLogger.js";
|
|
5
|
+
export type {} from "./control/TestEnvironment.js";
|
|
6
|
+
export type {} from "./control/TestConsole.js";
|
|
7
|
+
export type {} from "./control/TestClock.js";
|
|
8
|
+
export type {} from "./control/TestAspect.js";
|
|
9
|
+
export type {} from "./control/TestAnnotationRenderer.js";
|
|
10
|
+
export type {} from "./control/Test.js";
|
|
11
|
+
export type {} from "./control/SummaryBuilder.js";
|
|
12
|
+
export type {} from "./control/Spec.js";
|
|
13
|
+
export type {} from "./control/Sized.js";
|
|
14
|
+
export type {} from "./control/Sample.js";
|
|
15
|
+
export type {} from "./control/Live.js";
|
|
16
|
+
export type {} from "./control/Gen.js";
|
|
17
|
+
export type {} from "./control/FreeBooleanAlgebraIO.js";
|
|
18
|
+
export type {} from "./control/DefaultTestReporter.js";
|
|
19
|
+
export type {} from "./control/DefaultRunnableSpec.js";
|
|
20
|
+
export type {} from "./control/AssertionIO.js";
|
|
21
|
+
export type {} from "./control/Assertion.js";
|
|
22
|
+
export type {} from "./control/Annotations.js";
|
|
23
|
+
export type {} from "./control/AbstractRunnableSpec.js";
|
|
26
24
|
// codegen:end
|
|
@@ -11,7 +11,10 @@ export type AssertionDataTypeId = typeof AssertionDataTypeId;
|
|
|
11
11
|
*/
|
|
12
12
|
export class AssertionData<A> {
|
|
13
13
|
readonly [AssertionDataTypeId]: AssertionDataTypeId = AssertionDataTypeId;
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(
|
|
15
|
+
readonly value: A,
|
|
16
|
+
readonly assertion: Assertion<A>,
|
|
17
|
+
) {}
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: barrel, include: ./AssertionValue/*.ts }
|
|
2
|
-
export * from "./AssertionValue/api.js";
|
|
3
3
|
export * from "./AssertionValue/definition.js";
|
|
4
|
+
export * from "./AssertionValue/api.js";
|
|
4
5
|
// codegen:end
|
|
@@ -18,12 +18,18 @@ export class ExecutedSpec<E> {
|
|
|
18
18
|
|
|
19
19
|
export class TestCase<E> {
|
|
20
20
|
readonly _tag = ExecutedSpecCaseTag.Test;
|
|
21
|
-
constructor(
|
|
21
|
+
constructor(
|
|
22
|
+
readonly test: Either<TestFailure<E>, TestSuccess>,
|
|
23
|
+
readonly annotations: TestAnnotationMap,
|
|
24
|
+
) {}
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
export class LabeledCase<A> {
|
|
25
28
|
readonly _tag = ExecutedSpecCaseTag.Labeled;
|
|
26
|
-
constructor(
|
|
29
|
+
constructor(
|
|
30
|
+
readonly label: string,
|
|
31
|
+
readonly spec: A,
|
|
32
|
+
) {}
|
|
27
33
|
}
|
|
28
34
|
|
|
29
35
|
export class MultipleCase<A> {
|
|
@@ -9,5 +9,8 @@ import type { GenFailureDetails } from "./GenFailureDetails.js";
|
|
|
9
9
|
export type TestResult = FreeBooleanAlgebra<FailureDetailsResult>;
|
|
10
10
|
|
|
11
11
|
export class FailureDetails {
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(
|
|
13
|
+
readonly assertion: Cons<AssertionValue<any>>,
|
|
14
|
+
readonly gen: Maybe<GenFailureDetails<any>>,
|
|
15
|
+
) {}
|
|
13
16
|
}
|
|
@@ -55,8 +55,8 @@ export function failures<A>(self: FreeBooleanAlgebra<A>): Maybe<FreeBooleanAlgeb
|
|
|
55
55
|
? Either.right(l.right && r.right)
|
|
56
56
|
: r
|
|
57
57
|
: r.isRight()
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
? l
|
|
59
|
+
: Either.left(l.left && r.left);
|
|
60
60
|
},
|
|
61
61
|
Or: (l, r) => {
|
|
62
62
|
Either.concrete(l);
|
|
@@ -66,8 +66,8 @@ export function failures<A>(self: FreeBooleanAlgebra<A>): Maybe<FreeBooleanAlgeb
|
|
|
66
66
|
? Either.right(l.right || r.right)
|
|
67
67
|
: l
|
|
68
68
|
: r.isRight()
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
? r
|
|
70
|
+
: Either.left(l.left || r.left);
|
|
71
71
|
},
|
|
72
72
|
Not: (v) => v.swap,
|
|
73
73
|
})
|
|
@@ -12,12 +12,18 @@ export class Value<A> {
|
|
|
12
12
|
|
|
13
13
|
export class And<A> {
|
|
14
14
|
readonly _tag = FreeBooleanAlgebraTag.And;
|
|
15
|
-
constructor(
|
|
15
|
+
constructor(
|
|
16
|
+
readonly left: FreeBooleanAlgebra<A>,
|
|
17
|
+
readonly right: FreeBooleanAlgebra<A>,
|
|
18
|
+
) {}
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
export class Or<A> {
|
|
19
22
|
readonly _tag = FreeBooleanAlgebraTag.Or;
|
|
20
|
-
constructor(
|
|
23
|
+
constructor(
|
|
24
|
+
readonly left: FreeBooleanAlgebra<A>,
|
|
25
|
+
readonly right: FreeBooleanAlgebra<A>,
|
|
26
|
+
) {}
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
export class Not<A> {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: barrel, include: ./FreeBooleanAlgebra/*.ts }
|
|
2
|
-
export * from "./FreeBooleanAlgebra/api.js";
|
|
3
3
|
export * from "./FreeBooleanAlgebra/definition.js";
|
|
4
|
+
export * from "./FreeBooleanAlgebra/api.js";
|
|
4
5
|
// codegen:end
|
|
@@ -6,7 +6,10 @@ import { Style } from "./Style.js";
|
|
|
6
6
|
* @tsplus companion fncts.test.data.FragmentOps
|
|
7
7
|
*/
|
|
8
8
|
export class Fragment {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(
|
|
10
|
+
readonly text: string,
|
|
11
|
+
readonly style: Style = Style.Default,
|
|
12
|
+
) {}
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
/**
|
|
@@ -6,7 +6,10 @@ import { Message } from "./Message.js";
|
|
|
6
6
|
* @tsplus companion fncts.test.data.LineOps
|
|
7
7
|
*/
|
|
8
8
|
export class Line {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(
|
|
10
|
+
readonly fragments: Vector<Fragment> = Vector.empty(),
|
|
11
|
+
readonly offset = 0,
|
|
12
|
+
) {}
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
/**
|
|
@@ -7,7 +7,10 @@ export const enum RenderTag {
|
|
|
7
7
|
|
|
8
8
|
export class RenderFunction {
|
|
9
9
|
readonly _tag = RenderTag.Function;
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(
|
|
11
|
+
readonly name: string,
|
|
12
|
+
readonly paramLists: Conc<Conc<RenderParam>>,
|
|
13
|
+
) {}
|
|
11
14
|
get rendered(): string {
|
|
12
15
|
return `${this.name}(${this.paramLists.map((ps) => ps.map((p) => p.rendered).join(", ")).join("")})`;
|
|
13
16
|
}
|
|
@@ -15,7 +18,11 @@ export class RenderFunction {
|
|
|
15
18
|
|
|
16
19
|
export class RenderInfix {
|
|
17
20
|
readonly _tag = RenderTag.Infix;
|
|
18
|
-
constructor(
|
|
21
|
+
constructor(
|
|
22
|
+
readonly left: RenderParam,
|
|
23
|
+
readonly op: string,
|
|
24
|
+
readonly right: RenderParam,
|
|
25
|
+
) {}
|
|
19
26
|
get rendered(): string {
|
|
20
27
|
return `(${this.left.rendered} ${this.op} ${this.right.rendered})`;
|
|
21
28
|
}
|
package/_src/data/Render.ts
CHANGED
package/_src/data/RenderParam.ts
CHANGED
package/_src/data/Summary.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export class Summary {
|
|
2
|
-
constructor(
|
|
2
|
+
constructor(
|
|
3
|
+
readonly success: number,
|
|
4
|
+
readonly fail: number,
|
|
5
|
+
readonly ignore: number,
|
|
6
|
+
readonly summary: string,
|
|
7
|
+
) {}
|
|
3
8
|
total = this.success + this.fail + this.ignore;
|
|
4
9
|
}
|
|
@@ -42,10 +42,10 @@ export const Fibers = new TestAnnotation(FibersTag, "fibers", Either.left(0), (l
|
|
|
42
42
|
? Either.left(left.left + right.left)
|
|
43
43
|
: right
|
|
44
44
|
: left.isRight()
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
? right.isRight()
|
|
46
|
+
? Either.right(left.right.concat(right.right))
|
|
47
|
+
: right
|
|
48
|
+
: (() => {
|
|
49
|
+
throw new Error("absurd");
|
|
50
|
+
})();
|
|
51
51
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: barrel, include: ./TestAnnotation/*.ts }
|
|
2
|
-
export * from "./TestAnnotation/api.js";
|
|
3
3
|
export * from "./TestAnnotation/definition.js";
|
|
4
|
+
export * from "./TestAnnotation/api.js";
|
|
4
5
|
// codegen:end
|
package/_src/data/TestArgs.ts
CHANGED
package/_src/data.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
1
2
|
// codegen:start { preset: type-barrel, include: ./data/*.ts }
|
|
2
|
-
export type {} from "./data/AssertionData.js";
|
|
3
|
-
export type {} from "./data/AssertionResult.js";
|
|
4
|
-
export type {} from "./data/AssertionValue.js";
|
|
5
|
-
export type {} from "./data/ExecutedSpec.js";
|
|
6
|
-
export type {} from "./data/ExecutionResult.js";
|
|
7
|
-
export type {} from "./data/FailureDetails.js";
|
|
8
|
-
export type {} from "./data/FreeBooleanAlgebra.js";
|
|
9
|
-
export type {} from "./data/GenFailureDetails.js";
|
|
10
|
-
export type {} from "./data/LogLine.js";
|
|
11
|
-
export type {} from "./data/Render.js";
|
|
12
|
-
export type {} from "./data/RenderParam.js";
|
|
13
|
-
export type {} from "./data/Summary.js";
|
|
14
|
-
export type {} from "./data/TestAnnotation.js";
|
|
15
|
-
export type {} from "./data/TestAnnotationMap.js";
|
|
16
|
-
export type {} from "./data/TestArgs.js";
|
|
17
|
-
export type {} from "./data/TestConfig.js";
|
|
18
|
-
export type {} from "./data/TestFailure.js";
|
|
19
|
-
export type {} from "./data/TestSuccess.js";
|
|
20
3
|
export type {} from "./data/TestTimeoutException.js";
|
|
4
|
+
export type {} from "./data/TestSuccess.js";
|
|
5
|
+
export type {} from "./data/TestFailure.js";
|
|
6
|
+
export type {} from "./data/TestConfig.js";
|
|
7
|
+
export type {} from "./data/TestArgs.js";
|
|
8
|
+
export type {} from "./data/TestAnnotationMap.js";
|
|
9
|
+
export type {} from "./data/TestAnnotation.js";
|
|
10
|
+
export type {} from "./data/Summary.js";
|
|
11
|
+
export type {} from "./data/RenderParam.js";
|
|
12
|
+
export type {} from "./data/Render.js";
|
|
13
|
+
export type {} from "./data/LogLine.js";
|
|
14
|
+
export type {} from "./data/GenFailureDetails.js";
|
|
15
|
+
export type {} from "./data/FreeBooleanAlgebra.js";
|
|
16
|
+
export type {} from "./data/FailureDetails.js";
|
|
17
|
+
export type {} from "./data/ExecutionResult.js";
|
|
18
|
+
export type {} from "./data/ExecutedSpec.js";
|
|
19
|
+
export type {} from "./data/AssertionValue.js";
|
|
20
|
+
export type {} from "./data/AssertionResult.js";
|
|
21
|
+
export type {} from "./data/AssertionData.js";
|
|
21
22
|
// codegen:end
|
package/_src/index.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export type {} from "./control.js";
|
|
4
|
-
export type {} from "./data.js";
|
|
5
|
-
export type {} from "./demo.js";
|
|
6
|
-
export type {} from "./global.js";
|
|
1
|
+
/* eslint-disable simple-import-sort/exports */
|
|
2
|
+
// codegen:start { preset: type-barrel, include: ./*.ts, exclude: vitest.ts }
|
|
7
3
|
export type {} from "./util.js";
|
|
4
|
+
export type {} from "./global.js";
|
|
5
|
+
export type {} from "./demo.js";
|
|
6
|
+
export type {} from "./data.js";
|
|
7
|
+
export type {} from "./control.js";
|
|
8
|
+
export type {} from "./api.js";
|
|
8
9
|
// codegen:end
|
package/_src/util.ts
CHANGED
package/_src/vitest.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import type { AssertionValue } from "@fncts/test/data/AssertionValue";
|
|
2
2
|
import type { TestResult } from "@fncts/test/data/FailureDetails";
|
|
3
3
|
|
|
4
|
-
import { identity } from "@fncts/base/data/function";
|
|
5
4
|
import { check, checkAllConcurrently, checkAllIOConcurrently, checkIO } from "@fncts/test/api";
|
|
5
|
+
import { Assertion } from "@fncts/test/control/Assertion";
|
|
6
6
|
import { renderFragment } from "@fncts/test/control/DefaultTestReporter";
|
|
7
|
-
import { Gen } from "@fncts/test/control/Gen";
|
|
8
7
|
import { TestAnnotationRenderer } from "@fncts/test/control/TestAnnotationRenderer";
|
|
9
8
|
import { TestEnvironment } from "@fncts/test/control/TestEnvironment";
|
|
10
9
|
import { ConsoleRenderer } from "@fncts/test/control/TestRenderer/ConsoleRenderer";
|
|
11
10
|
import { Failed, Passed, rendered, Test } from "@fncts/test/data/ExecutionResult";
|
|
12
|
-
import {
|
|
11
|
+
import { RenderParam } from "@fncts/test/data/RenderParam";
|
|
13
12
|
import * as V from "vitest";
|
|
14
|
-
import { GenerateStackTrace } from "@fncts/io/IO";
|
|
15
13
|
|
|
16
14
|
export const describe = V.describe;
|
|
17
15
|
|
|
@@ -26,15 +24,21 @@ export const it = (() => {
|
|
|
26
24
|
if (result.isFailure) {
|
|
27
25
|
const lines = (assertionValues: Cons<AssertionValue<any>>) =>
|
|
28
26
|
assertionValues.flatMap((value) => List.from(renderFragment(value, 0).lines));
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
|
|
28
|
+
const renderedResult = result.failures
|
|
29
|
+
.map((failures) =>
|
|
30
|
+
ConsoleRenderer.renderSingle(
|
|
31
|
+
failures.fold({
|
|
32
|
+
Value: (details) => rendered(Test, "", Failed, 0, lines(details.failureDetails.assertion)),
|
|
33
|
+
And: (l, r) => l && r,
|
|
34
|
+
Or: (l, r) => l || r,
|
|
35
|
+
Not: (v) => v.invert,
|
|
36
|
+
}),
|
|
37
|
+
TestAnnotationRenderer.Default,
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
.getOrElse("Unknown Test Failure");
|
|
41
|
+
|
|
38
42
|
const error = new Error(renderedResult);
|
|
39
43
|
error.stack = undefined;
|
|
40
44
|
throw error;
|
|
@@ -53,7 +57,7 @@ export const it = (() => {
|
|
|
53
57
|
if (result.isFailure) {
|
|
54
58
|
const lines = (assertionValues: Cons<AssertionValue<any>>) => {
|
|
55
59
|
return assertionValues.flatMap((value) => List.from(renderFragment(value, 0).lines));
|
|
56
|
-
}
|
|
60
|
+
};
|
|
57
61
|
const renderedResult = ConsoleRenderer.renderSingle(
|
|
58
62
|
result.fold({
|
|
59
63
|
Value: (details) => rendered(Test, "", Passed, 0, lines(details.failureDetails.assertion)),
|
|
@@ -92,7 +96,7 @@ export const it = (() => {
|
|
|
92
96
|
checkAllIO: checkAllIOConcurrently,
|
|
93
97
|
io: Object.assign(itIO, {
|
|
94
98
|
scoped: <E>(name: string, io: Lazy<IO<TestEnvironment | Scope, E, TestResult>>, timeout = 5_000) => {
|
|
95
|
-
return itIO(name, io().scoped, timeout)
|
|
99
|
+
return itIO(name, io().scoped, timeout);
|
|
96
100
|
},
|
|
97
101
|
skip: <E>(name: string, io: Lazy<IO<TestEnvironment, E, TestResult>>, timeout = 5_000) => {
|
|
98
102
|
return V.it.skip(name, () => runTestIO(io), timeout);
|
|
@@ -105,3 +109,10 @@ export const it = (() => {
|
|
|
105
109
|
})();
|
|
106
110
|
|
|
107
111
|
export const test = it;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* @tsplus static fncts.test.AssertionOps calledTimes
|
|
115
|
+
*/
|
|
116
|
+
export function calledTimes(times: number): Assertion<V.Mock> {
|
|
117
|
+
return Assertion.make("calledTimes", [RenderParam(times)], (mock) => mock.mock.calls.length === times);
|
|
118
|
+
}
|