@fncts/test 0.0.1
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 +4 -0
- package/_cjs/api.cjs +91 -0
- package/_cjs/api.cjs.map +1 -0
- package/_cjs/control/AbstractRunnableSpec.cjs +30 -0
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -0
- package/_cjs/control/Annotations/api.cjs +50 -0
- package/_cjs/control/Annotations/api.cjs.map +1 -0
- package/_cjs/control/Annotations/definition.cjs +27 -0
- package/_cjs/control/Annotations/definition.cjs.map +1 -0
- package/_cjs/control/Annotations/live.cjs +68 -0
- package/_cjs/control/Annotations/live.cjs.map +1 -0
- package/_cjs/control/Annotations.cjs +45 -0
- package/_cjs/control/Annotations.cjs.map +1 -0
- package/_cjs/control/Assertion/api.cjs +256 -0
- package/_cjs/control/Assertion/api.cjs.map +1 -0
- package/_cjs/control/Assertion/definition.cjs +32 -0
- package/_cjs/control/Assertion/definition.cjs.map +1 -0
- package/_cjs/control/Assertion.cjs +32 -0
- package/_cjs/control/Assertion.cjs.map +1 -0
- package/_cjs/control/AssertionIO/api.cjs +46 -0
- package/_cjs/control/AssertionIO/api.cjs.map +1 -0
- package/_cjs/control/AssertionIO/definition.cjs +37 -0
- package/_cjs/control/AssertionIO/definition.cjs.map +1 -0
- package/_cjs/control/AssertionIO.cjs +32 -0
- package/_cjs/control/AssertionIO.cjs.map +1 -0
- package/_cjs/control/DefaultRunnableSpec.cjs +30 -0
- package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -0
- package/_cjs/control/DefaultTestReporter/definition.cjs +9 -0
- package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -0
- package/_cjs/control/DefaultTestReporter/render.cjs +288 -0
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -0
- package/_cjs/control/DefaultTestReporter.cjs +32 -0
- package/_cjs/control/DefaultTestReporter.cjs.map +1 -0
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +89 -0
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -0
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +9 -0
- package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -0
- package/_cjs/control/FreeBooleanAlgebraIO.cjs +32 -0
- package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -0
- package/_cjs/control/Gen/api/array.cjs +50 -0
- package/_cjs/control/Gen/api/array.cjs.map +1 -0
- package/_cjs/control/Gen/api/char.cjs +129 -0
- package/_cjs/control/Gen/api/char.cjs.map +1 -0
- package/_cjs/control/Gen/api/conc.cjs +70 -0
- package/_cjs/control/Gen/api/conc.cjs.map +1 -0
- package/_cjs/control/Gen/api/double.cjs +82 -0
- package/_cjs/control/Gen/api/double.cjs.map +1 -0
- package/_cjs/control/Gen/api/float.cjs +55 -0
- package/_cjs/control/Gen/api/float.cjs.map +1 -0
- package/_cjs/control/Gen/api/string.cjs +102 -0
- package/_cjs/control/Gen/api/string.cjs.map +1 -0
- package/_cjs/control/Gen/api/struct.cjs +36 -0
- package/_cjs/control/Gen/api/struct.cjs.map +1 -0
- package/_cjs/control/Gen/api.cjs +369 -0
- package/_cjs/control/Gen/api.cjs.map +1 -0
- package/_cjs/control/Gen/constraints.cjs +6 -0
- package/_cjs/control/Gen/constraints.cjs.map +1 -0
- package/_cjs/control/Gen/definition.cjs +20 -0
- package/_cjs/control/Gen/definition.cjs.map +1 -0
- package/_cjs/control/Gen.cjs +136 -0
- package/_cjs/control/Gen.cjs.map +1 -0
- package/_cjs/control/Live/definition.cjs +67 -0
- package/_cjs/control/Live/definition.cjs.map +1 -0
- package/_cjs/control/Live.cjs +19 -0
- package/_cjs/control/Live.cjs.map +1 -0
- package/_cjs/control/RunnableSpec.cjs +70 -0
- package/_cjs/control/RunnableSpec.cjs.map +1 -0
- package/_cjs/control/Sample/api.cjs +244 -0
- package/_cjs/control/Sample/api.cjs.map +1 -0
- package/_cjs/control/Sample/definition.cjs +21 -0
- package/_cjs/control/Sample/definition.cjs.map +1 -0
- package/_cjs/control/Sample.cjs +32 -0
- package/_cjs/control/Sample.cjs.map +1 -0
- package/_cjs/control/Sized/api.cjs +32 -0
- package/_cjs/control/Sized/api.cjs.map +1 -0
- package/_cjs/control/Sized/definition.cjs +27 -0
- package/_cjs/control/Sized/definition.cjs.map +1 -0
- package/_cjs/control/Sized/live.cjs +42 -0
- package/_cjs/control/Sized/live.cjs.map +1 -0
- package/_cjs/control/Sized.cjs +45 -0
- package/_cjs/control/Sized.cjs.map +1 -0
- package/_cjs/control/Spec/api.cjs +525 -0
- package/_cjs/control/Spec/api.cjs.map +1 -0
- package/_cjs/control/Spec/definition.cjs +125 -0
- package/_cjs/control/Spec/definition.cjs.map +1 -0
- package/_cjs/control/Spec.cjs +32 -0
- package/_cjs/control/Spec.cjs.map +1 -0
- package/_cjs/control/SummaryBuilder.cjs +87 -0
- package/_cjs/control/SummaryBuilder.cjs.map +1 -0
- package/_cjs/control/Test.cjs +34 -0
- package/_cjs/control/Test.cjs.map +1 -0
- package/_cjs/control/TestAnnotationRenderer/api.cjs +101 -0
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -0
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +53 -0
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -0
- package/_cjs/control/TestAnnotationRenderer.cjs +32 -0
- package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -0
- package/_cjs/control/TestAspect/api.cjs +148 -0
- package/_cjs/control/TestAspect/api.cjs.map +1 -0
- package/_cjs/control/TestAspect/definition.cjs +6 -0
- package/_cjs/control/TestAspect/definition.cjs.map +1 -0
- package/_cjs/control/TestAspect.cjs +32 -0
- package/_cjs/control/TestAspect.cjs.map +1 -0
- package/_cjs/control/TestClock/api.cjs +72 -0
- package/_cjs/control/TestClock/api.cjs.map +1 -0
- package/_cjs/control/TestClock/definition.cjs +225 -0
- package/_cjs/control/TestClock/definition.cjs.map +1 -0
- package/_cjs/control/TestClock.cjs +32 -0
- package/_cjs/control/TestClock.cjs.map +1 -0
- package/_cjs/control/TestConsole/api.cjs +64 -0
- package/_cjs/control/TestConsole/api.cjs.map +1 -0
- package/_cjs/control/TestConsole/definition.cjs +100 -0
- package/_cjs/control/TestConsole/definition.cjs.map +1 -0
- package/_cjs/control/TestConsole.cjs +32 -0
- package/_cjs/control/TestConsole.cjs.map +1 -0
- package/_cjs/control/TestEnvironment.cjs +39 -0
- package/_cjs/control/TestEnvironment.cjs.map +1 -0
- package/_cjs/control/TestExecutor.cjs +58 -0
- package/_cjs/control/TestExecutor.cjs.map +1 -0
- package/_cjs/control/TestLogger.cjs +58 -0
- package/_cjs/control/TestLogger.cjs.map +1 -0
- package/_cjs/control/TestRandom/api.cjs +125 -0
- package/_cjs/control/TestRandom/api.cjs.map +1 -0
- package/_cjs/control/TestRandom/definition.cjs +458 -0
- package/_cjs/control/TestRandom/definition.cjs.map +1 -0
- package/_cjs/control/TestRandom.cjs +32 -0
- package/_cjs/control/TestRandom.cjs.map +1 -0
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +113 -0
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -0
- package/_cjs/control/TestRenderer/definition.cjs +6 -0
- package/_cjs/control/TestRenderer/definition.cjs.map +1 -0
- package/_cjs/control/TestRunner.cjs +45 -0
- package/_cjs/control/TestRunner.cjs.map +1 -0
- package/_cjs/data/AssertionData.cjs +55 -0
- package/_cjs/data/AssertionData.cjs.map +1 -0
- package/_cjs/data/AssertionResult.cjs +34 -0
- package/_cjs/data/AssertionResult.cjs.map +1 -0
- package/_cjs/data/AssertionValue/api.cjs +64 -0
- package/_cjs/data/AssertionValue/api.cjs.map +1 -0
- package/_cjs/data/AssertionValue/definition.cjs +35 -0
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -0
- package/_cjs/data/AssertionValue.cjs +32 -0
- package/_cjs/data/AssertionValue.cjs.map +1 -0
- package/_cjs/data/ExecutedSpec/api.cjs +132 -0
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -0
- package/_cjs/data/ExecutedSpec/definition.cjs +58 -0
- package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -0
- package/_cjs/data/ExecutedSpec.cjs +32 -0
- package/_cjs/data/ExecutedSpec.cjs.map +1 -0
- package/_cjs/data/ExecutionResult.cjs +142 -0
- package/_cjs/data/ExecutionResult.cjs.map +1 -0
- package/_cjs/data/FailureDetails.cjs +17 -0
- package/_cjs/data/FailureDetails.cjs.map +1 -0
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +194 -0
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -0
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs +59 -0
- package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -0
- package/_cjs/data/FreeBooleanAlgebra.cjs +32 -0
- package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -0
- package/_cjs/data/GenFailureDetails.cjs +18 -0
- package/_cjs/data/GenFailureDetails.cjs.map +1 -0
- package/_cjs/data/LogLine/Fragment.cjs +94 -0
- package/_cjs/data/LogLine/Fragment.cjs.map +1 -0
- package/_cjs/data/LogLine/Line.cjs +142 -0
- package/_cjs/data/LogLine/Line.cjs.map +1 -0
- package/_cjs/data/LogLine/Message.cjs +145 -0
- package/_cjs/data/LogLine/Message.cjs.map +1 -0
- package/_cjs/data/LogLine/Style.cjs +124 -0
- package/_cjs/data/LogLine/Style.cjs.map +1 -0
- package/_cjs/data/LogLine/api.cjs +65 -0
- package/_cjs/data/LogLine/api.cjs.map +1 -0
- package/_cjs/data/LogLine.cjs +32 -0
- package/_cjs/data/LogLine.cjs.map +1 -0
- package/_cjs/data/Render/api.cjs +25 -0
- package/_cjs/data/Render/api.cjs.map +1 -0
- package/_cjs/data/Render/definition.cjs +52 -0
- package/_cjs/data/Render/definition.cjs.map +1 -0
- package/_cjs/data/Render.cjs +32 -0
- package/_cjs/data/Render.cjs.map +1 -0
- package/_cjs/data/RenderParam/api.cjs +40 -0
- package/_cjs/data/RenderParam/api.cjs.map +1 -0
- package/_cjs/data/RenderParam/definition.cjs +33 -0
- package/_cjs/data/RenderParam/definition.cjs.map +1 -0
- package/_cjs/data/RenderParam.cjs +32 -0
- package/_cjs/data/RenderParam.cjs.map +1 -0
- package/_cjs/data/Summary.cjs +20 -0
- package/_cjs/data/Summary.cjs.map +1 -0
- package/_cjs/data/TestAnnotation/api.cjs +76 -0
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -0
- package/_cjs/data/TestAnnotation/definition.cjs +55 -0
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -0
- package/_cjs/data/TestAnnotation.cjs +32 -0
- package/_cjs/data/TestAnnotation.cjs.map +1 -0
- package/_cjs/data/TestAnnotationMap.cjs +51 -0
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -0
- package/_cjs/data/TestArgs/definition.cjs +18 -0
- package/_cjs/data/TestArgs/definition.cjs.map +1 -0
- package/_cjs/data/TestArgs.cjs +19 -0
- package/_cjs/data/TestArgs.cjs.map +1 -0
- package/_cjs/data/TestConfig.cjs +76 -0
- package/_cjs/data/TestConfig.cjs.map +1 -0
- package/_cjs/data/TestFailure.cjs +75 -0
- package/_cjs/data/TestFailure.cjs.map +1 -0
- package/_cjs/data/TestSuccess.cjs +48 -0
- package/_cjs/data/TestSuccess.cjs.map +1 -0
- package/_cjs/data/TestTimeoutException.cjs +16 -0
- package/_cjs/data/TestTimeoutException.cjs.map +1 -0
- package/_cjs/demo.cjs +44 -0
- package/_cjs/demo.cjs.map +1 -0
- package/_cjs/util/math.cjs +673 -0
- package/_cjs/util/math.cjs.map +1 -0
- package/_mjs/api.mjs +57 -0
- package/_mjs/api.mjs.map +1 -0
- package/_mjs/control/AbstractRunnableSpec.mjs +16 -0
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -0
- package/_mjs/control/Annotations/api.mjs +30 -0
- package/_mjs/control/Annotations/api.mjs.map +1 -0
- package/_mjs/control/Annotations/definition.mjs +13 -0
- package/_mjs/control/Annotations/definition.mjs.map +1 -0
- package/_mjs/control/Annotations/live.mjs +40 -0
- package/_mjs/control/Annotations/live.mjs.map +1 -0
- package/_mjs/control/Annotations.mjs +5 -0
- package/_mjs/control/Annotations.mjs.map +1 -0
- package/_mjs/control/Assertion/api.mjs +170 -0
- package/_mjs/control/Assertion/api.mjs.map +1 -0
- package/_mjs/control/Assertion/definition.mjs +17 -0
- package/_mjs/control/Assertion/definition.mjs.map +1 -0
- package/_mjs/control/Assertion.mjs +4 -0
- package/_mjs/control/Assertion.mjs.map +1 -0
- package/_mjs/control/AssertionIO/api.mjs +28 -0
- package/_mjs/control/AssertionIO/api.mjs.map +1 -0
- package/_mjs/control/AssertionIO/definition.mjs +23 -0
- package/_mjs/control/AssertionIO/definition.mjs.map +1 -0
- package/_mjs/control/AssertionIO.mjs +4 -0
- package/_mjs/control/AssertionIO.mjs.map +1 -0
- package/_mjs/control/DefaultRunnableSpec.mjs +15 -0
- package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -0
- package/_mjs/control/DefaultTestReporter/definition.mjs +2 -0
- package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -0
- package/_mjs/control/DefaultTestReporter/render.mjs +245 -0
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -0
- package/_mjs/control/DefaultTestReporter.mjs +4 -0
- package/_mjs/control/DefaultTestReporter.mjs.map +1 -0
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +62 -0
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -0
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs +2 -0
- package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -0
- package/_mjs/control/FreeBooleanAlgebraIO.mjs +4 -0
- package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -0
- package/_mjs/control/Gen/api/array.mjs +31 -0
- package/_mjs/control/Gen/api/array.mjs.map +1 -0
- package/_mjs/control/Gen/api/char.mjs +95 -0
- package/_mjs/control/Gen/api/char.mjs.map +1 -0
- package/_mjs/control/Gen/api/conc.mjs +46 -0
- package/_mjs/control/Gen/api/conc.mjs.map +1 -0
- package/_mjs/control/Gen/api/double.mjs +60 -0
- package/_mjs/control/Gen/api/double.mjs.map +1 -0
- package/_mjs/control/Gen/api/float.mjs +41 -0
- package/_mjs/control/Gen/api/float.mjs.map +1 -0
- package/_mjs/control/Gen/api/string.mjs +72 -0
- package/_mjs/control/Gen/api/string.mjs.map +1 -0
- package/_mjs/control/Gen/api/struct.mjs +18 -0
- package/_mjs/control/Gen/api/struct.mjs.map +1 -0
- package/_mjs/control/Gen/api.mjs +288 -0
- package/_mjs/control/Gen/api.mjs.map +1 -0
- package/_mjs/control/Gen/constraints.mjs +2 -0
- package/_mjs/control/Gen/constraints.mjs.map +1 -0
- package/_mjs/control/Gen/definition.mjs +11 -0
- package/_mjs/control/Gen/definition.mjs.map +1 -0
- package/_mjs/control/Gen.mjs +14 -0
- package/_mjs/control/Gen.mjs.map +1 -0
- package/_mjs/control/Live/definition.mjs +42 -0
- package/_mjs/control/Live/definition.mjs.map +1 -0
- package/_mjs/control/Live.mjs +3 -0
- package/_mjs/control/Live.mjs.map +1 -0
- package/_mjs/control/RunnableSpec.mjs +44 -0
- package/_mjs/control/RunnableSpec.mjs.map +1 -0
- package/_mjs/control/Sample/api.mjs +195 -0
- package/_mjs/control/Sample/api.mjs.map +1 -0
- package/_mjs/control/Sample/definition.mjs +12 -0
- package/_mjs/control/Sample/definition.mjs.map +1 -0
- package/_mjs/control/Sample.mjs +4 -0
- package/_mjs/control/Sample.mjs.map +1 -0
- package/_mjs/control/Sized/api.mjs +16 -0
- package/_mjs/control/Sized/api.mjs.map +1 -0
- package/_mjs/control/Sized/definition.mjs +13 -0
- package/_mjs/control/Sized/definition.mjs.map +1 -0
- package/_mjs/control/Sized/live.mjs +25 -0
- package/_mjs/control/Sized/live.mjs.map +1 -0
- package/_mjs/control/Sized.mjs +5 -0
- package/_mjs/control/Sized.mjs.map +1 -0
- package/_mjs/control/Spec/api.mjs +449 -0
- package/_mjs/control/Spec/api.mjs.map +1 -0
- package/_mjs/control/Spec/definition.mjs +96 -0
- package/_mjs/control/Spec/definition.mjs.map +1 -0
- package/_mjs/control/Spec.mjs +4 -0
- package/_mjs/control/Spec.mjs.map +1 -0
- package/_mjs/control/SummaryBuilder.mjs +61 -0
- package/_mjs/control/SummaryBuilder.mjs.map +1 -0
- package/_mjs/control/Test.mjs +15 -0
- package/_mjs/control/Test.mjs.map +1 -0
- package/_mjs/control/TestAnnotationRenderer/api.mjs +74 -0
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -0
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +32 -0
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -0
- package/_mjs/control/TestAnnotationRenderer.mjs +4 -0
- package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -0
- package/_mjs/control/TestAspect/api.mjs +93 -0
- package/_mjs/control/TestAspect/api.mjs.map +1 -0
- package/_mjs/control/TestAspect/definition.mjs +2 -0
- package/_mjs/control/TestAspect/definition.mjs.map +1 -0
- package/_mjs/control/TestAspect.mjs +4 -0
- package/_mjs/control/TestAspect.mjs.map +1 -0
- package/_mjs/control/TestClock/api.mjs +45 -0
- package/_mjs/control/TestClock/api.mjs.map +1 -0
- package/_mjs/control/TestClock/definition.mjs +173 -0
- package/_mjs/control/TestClock/definition.mjs.map +1 -0
- package/_mjs/control/TestClock.mjs +4 -0
- package/_mjs/control/TestClock.mjs.map +1 -0
- package/_mjs/control/TestConsole/api.mjs +41 -0
- package/_mjs/control/TestConsole/api.mjs.map +1 -0
- package/_mjs/control/TestConsole/definition.mjs +73 -0
- package/_mjs/control/TestConsole/definition.mjs.map +1 -0
- package/_mjs/control/TestConsole.mjs +4 -0
- package/_mjs/control/TestConsole.mjs.map +1 -0
- package/_mjs/control/TestEnvironment.mjs +17 -0
- package/_mjs/control/TestEnvironment.mjs.map +1 -0
- package/_mjs/control/TestExecutor.mjs +36 -0
- package/_mjs/control/TestExecutor.mjs.map +1 -0
- package/_mjs/control/TestLogger.mjs +36 -0
- package/_mjs/control/TestLogger.mjs.map +1 -0
- package/_mjs/control/TestRandom/api.mjs +87 -0
- package/_mjs/control/TestRandom/api.mjs.map +1 -0
- package/_mjs/control/TestRandom/definition.mjs +418 -0
- package/_mjs/control/TestRandom/definition.mjs.map +1 -0
- package/_mjs/control/TestRandom.mjs +4 -0
- package/_mjs/control/TestRandom.mjs.map +1 -0
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +88 -0
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -0
- package/_mjs/control/TestRenderer/definition.mjs +2 -0
- package/_mjs/control/TestRenderer/definition.mjs.map +1 -0
- package/_mjs/control/TestRunner.mjs +23 -0
- package/_mjs/control/TestRunner.mjs.map +1 -0
- package/_mjs/data/AssertionData.mjs +34 -0
- package/_mjs/data/AssertionData.mjs.map +1 -0
- package/_mjs/data/AssertionResult.mjs +17 -0
- package/_mjs/data/AssertionResult.mjs.map +1 -0
- package/_mjs/data/AssertionValue/api.mjs +42 -0
- package/_mjs/data/AssertionValue/api.mjs.map +1 -0
- package/_mjs/data/AssertionValue/definition.mjs +19 -0
- package/_mjs/data/AssertionValue/definition.mjs.map +1 -0
- package/_mjs/data/AssertionValue.mjs +4 -0
- package/_mjs/data/AssertionValue.mjs.map +1 -0
- package/_mjs/data/ExecutedSpec/api.mjs +104 -0
- package/_mjs/data/ExecutedSpec/api.mjs.map +1 -0
- package/_mjs/data/ExecutedSpec/definition.mjs +40 -0
- package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -0
- package/_mjs/data/ExecutedSpec.mjs +4 -0
- package/_mjs/data/ExecutedSpec.mjs.map +1 -0
- package/_mjs/data/ExecutionResult.mjs +110 -0
- package/_mjs/data/ExecutionResult.mjs.map +1 -0
- package/_mjs/data/FailureDetails.mjs +8 -0
- package/_mjs/data/FailureDetails.mjs.map +1 -0
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +154 -0
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -0
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs +40 -0
- package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -0
- package/_mjs/data/FreeBooleanAlgebra.mjs +4 -0
- package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -0
- package/_mjs/data/GenFailureDetails.mjs +9 -0
- package/_mjs/data/GenFailureDetails.mjs.map +1 -0
- package/_mjs/data/LogLine/Fragment.mjs +65 -0
- package/_mjs/data/LogLine/Fragment.mjs.map +1 -0
- package/_mjs/data/LogLine/Line.mjs +104 -0
- package/_mjs/data/LogLine/Line.mjs.map +1 -0
- package/_mjs/data/LogLine/Message.mjs +107 -0
- package/_mjs/data/LogLine/Message.mjs.map +1 -0
- package/_mjs/data/LogLine/Style.mjs +101 -0
- package/_mjs/data/LogLine/Style.mjs.map +1 -0
- package/_mjs/data/LogLine/api.mjs +32 -0
- package/_mjs/data/LogLine/api.mjs.map +1 -0
- package/_mjs/data/LogLine.mjs +3 -0
- package/_mjs/data/LogLine.mjs.map +1 -0
- package/_mjs/data/Render/api.mjs +16 -0
- package/_mjs/data/Render/api.mjs.map +1 -0
- package/_mjs/data/Render/definition.mjs +33 -0
- package/_mjs/data/Render/definition.mjs.map +1 -0
- package/_mjs/data/Render.mjs +4 -0
- package/_mjs/data/Render.mjs.map +1 -0
- package/_mjs/data/RenderParam/api.mjs +28 -0
- package/_mjs/data/RenderParam/api.mjs.map +1 -0
- package/_mjs/data/RenderParam/definition.mjs +20 -0
- package/_mjs/data/RenderParam/definition.mjs.map +1 -0
- package/_mjs/data/RenderParam.mjs +4 -0
- package/_mjs/data/RenderParam.mjs.map +1 -0
- package/_mjs/data/Summary.mjs +11 -0
- package/_mjs/data/Summary.mjs.map +1 -0
- package/_mjs/data/TestAnnotation/api.mjs +47 -0
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -0
- package/_mjs/data/TestAnnotation/definition.mjs +33 -0
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -0
- package/_mjs/data/TestAnnotation.mjs +4 -0
- package/_mjs/data/TestAnnotation.mjs.map +1 -0
- package/_mjs/data/TestAnnotationMap.mjs +33 -0
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -0
- package/_mjs/data/TestArgs/definition.mjs +9 -0
- package/_mjs/data/TestArgs/definition.mjs.map +1 -0
- package/_mjs/data/TestArgs.mjs +3 -0
- package/_mjs/data/TestArgs.mjs.map +1 -0
- package/_mjs/data/TestConfig.mjs +52 -0
- package/_mjs/data/TestConfig.mjs.map +1 -0
- package/_mjs/data/TestFailure.mjs +49 -0
- package/_mjs/data/TestFailure.mjs.map +1 -0
- package/_mjs/data/TestSuccess.mjs +31 -0
- package/_mjs/data/TestSuccess.mjs.map +1 -0
- package/_mjs/data/TestTimeoutException.mjs +7 -0
- package/_mjs/data/TestTimeoutException.mjs.map +1 -0
- package/_mjs/demo.mjs +33 -0
- package/_mjs/demo.mjs.map +1 -0
- package/_mjs/util/math.mjs +604 -0
- package/_mjs/util/math.mjs.map +1 -0
- package/_src/api.ts +76 -0
- package/_src/control/AbstractRunnableSpec.ts +23 -0
- package/_src/control/Annotations/api.ts +33 -0
- package/_src/control/Annotations/definition.ts +20 -0
- package/_src/control/Annotations/live.ts +50 -0
- package/_src/control/Annotations.ts +5 -0
- package/_src/control/Assertion/api.ts +236 -0
- package/_src/control/Assertion/definition.ts +20 -0
- package/_src/control/Assertion.ts +4 -0
- package/_src/control/AssertionIO/api.ts +32 -0
- package/_src/control/AssertionIO/definition.ts +26 -0
- package/_src/control/AssertionIO.ts +4 -0
- package/_src/control/DefaultRunnableSpec.ts +12 -0
- package/_src/control/DefaultTestReporter/definition.ts +6 -0
- package/_src/control/DefaultTestReporter/render.ts +295 -0
- package/_src/control/DefaultTestReporter.ts +4 -0
- package/_src/control/FreeBooleanAlgebraIO/api.ts +67 -0
- package/_src/control/FreeBooleanAlgebraIO/definition.ts +13 -0
- package/_src/control/FreeBooleanAlgebraIO.ts +4 -0
- package/_src/control/Gen/api/array.ts +31 -0
- package/_src/control/Gen/api/char.ts +83 -0
- package/_src/control/Gen/api/conc.ts +50 -0
- package/_src/control/Gen/api/double.ts +64 -0
- package/_src/control/Gen/api/float.ts +36 -0
- package/_src/control/Gen/api/string.ts +71 -0
- package/_src/control/Gen/api/struct.ts +21 -0
- package/_src/control/Gen/api.ts +276 -0
- package/_src/control/Gen/constraints.ts +38 -0
- package/_src/control/Gen/definition.ts +9 -0
- package/_src/control/Gen.ts +15 -0
- package/_src/control/Live/definition.ts +47 -0
- package/_src/control/Live.ts +3 -0
- package/_src/control/RunnableSpec.ts +42 -0
- package/_src/control/Sample/api.ts +287 -0
- package/_src/control/Sample/definition.ts +7 -0
- package/_src/control/Sample.ts +4 -0
- package/_src/control/Sized/api.ts +14 -0
- package/_src/control/Sized/definition.ts +13 -0
- package/_src/control/Sized/live.ts +19 -0
- package/_src/control/Sized.ts +5 -0
- package/_src/control/Spec/api.ts +384 -0
- package/_src/control/Spec/definition.ts +103 -0
- package/_src/control/Spec.ts +4 -0
- package/_src/control/SummaryBuilder.ts +68 -0
- package/_src/control/Test.ts +31 -0
- package/_src/control/TestAnnotationRenderer/api.ts +75 -0
- package/_src/control/TestAnnotationRenderer/definition.ts +49 -0
- package/_src/control/TestAnnotationRenderer.ts +4 -0
- package/_src/control/TestAspect/api.ts +122 -0
- package/_src/control/TestAspect/definition.ts +3 -0
- package/_src/control/TestAspect.ts +4 -0
- package/_src/control/TestClock/api.ts +36 -0
- package/_src/control/TestClock/definition.ts +196 -0
- package/_src/control/TestClock.ts +4 -0
- package/_src/control/TestConsole/api.ts +36 -0
- package/_src/control/TestConsole/definition.ts +61 -0
- package/_src/control/TestConsole.ts +4 -0
- package/_src/control/TestEnvironment.ts +30 -0
- package/_src/control/TestExecutor.ts +54 -0
- package/_src/control/TestLogger.ts +37 -0
- package/_src/control/TestRandom/api.ts +76 -0
- package/_src/control/TestRandom/definition.ts +362 -0
- package/_src/control/TestRandom.ts +4 -0
- package/_src/control/TestRenderer/ConsoleRenderer.ts +94 -0
- package/_src/control/TestRenderer/definition.ts +7 -0
- package/_src/control/TestRunner.ts +34 -0
- package/_src/data/AssertionData.ts +33 -0
- package/_src/data/AssertionResult.ts +31 -0
- package/_src/data/AssertionValue/api.ts +48 -0
- package/_src/data/AssertionValue/definition.ts +20 -0
- package/_src/data/AssertionValue.ts +4 -0
- package/_src/data/ExecutedSpec/api.ts +96 -0
- package/_src/data/ExecutedSpec/definition.ts +37 -0
- package/_src/data/ExecutedSpec.ts +4 -0
- package/_src/data/ExecutionResult.ts +153 -0
- package/_src/data/FailureDetails.ts +13 -0
- package/_src/data/FreeBooleanAlgebra/api.ts +152 -0
- package/_src/data/FreeBooleanAlgebra/definition.ts +38 -0
- package/_src/data/FreeBooleanAlgebra.ts +4 -0
- package/_src/data/GenFailureDetails.ts +3 -0
- package/_src/data/LogLine/Fragment.ts +59 -0
- package/_src/data/LogLine/Line.ts +91 -0
- package/_src/data/LogLine/Message.ts +94 -0
- package/_src/data/LogLine/Style.ts +150 -0
- package/_src/data/LogLine/api.ts +40 -0
- package/_src/data/LogLine.ts +2 -0
- package/_src/data/Render/api.ts +18 -0
- package/_src/data/Render/definition.ts +36 -0
- package/_src/data/Render.ts +4 -0
- package/_src/data/RenderParam/api.ts +31 -0
- package/_src/data/RenderParam/definition.ts +28 -0
- package/_src/data/RenderParam.ts +4 -0
- package/_src/data/Summary.ts +4 -0
- package/_src/data/TestAnnotation/api.ts +49 -0
- package/_src/data/TestAnnotation/definition.ts +37 -0
- package/_src/data/TestAnnotation.ts +4 -0
- package/_src/data/TestAnnotationMap.ts +41 -0
- package/_src/data/TestArgs/definition.ts +7 -0
- package/_src/data/TestArgs.ts +3 -0
- package/_src/data/TestConfig.ts +47 -0
- package/_src/data/TestFailure.ts +56 -0
- package/_src/data/TestSuccess.ts +39 -0
- package/_src/data/TestTimeoutException.ts +5 -0
- package/_src/demo.ts +16 -0
- package/_src/util/math.ts +497 -0
- package/api.d.ts +21 -0
- package/control/AbstractRunnableSpec.d.ts +15 -0
- package/control/Annotations/api.d.ts +26 -0
- package/control/Annotations/definition.d.ts +20 -0
- package/control/Annotations/live.d.ts +18 -0
- package/control/Annotations.d.ts +3 -0
- package/control/Assertion/api.d.ts +81 -0
- package/control/Assertion/definition.d.ts +17 -0
- package/control/Assertion.d.ts +2 -0
- package/control/AssertionIO/api.d.ts +18 -0
- package/control/AssertionIO/definition.d.ts +18 -0
- package/control/AssertionIO.d.ts +2 -0
- package/control/DefaultRunnableSpec.d.ts +7 -0
- package/control/DefaultTestReporter/definition.d.ts +6 -0
- package/control/DefaultTestReporter/render.d.ts +23 -0
- package/control/DefaultTestReporter.d.ts +2 -0
- package/control/FreeBooleanAlgebraIO/api.d.ts +44 -0
- package/control/FreeBooleanAlgebraIO/definition.d.ts +12 -0
- package/control/FreeBooleanAlgebraIO.d.ts +2 -0
- package/control/Gen/api/array.d.ts +19 -0
- package/control/Gen/api/char.d.ts +47 -0
- package/control/Gen/api/conc.d.ts +26 -0
- package/control/Gen/api/double.d.ts +13 -0
- package/control/Gen/api/float.d.ts +7 -0
- package/control/Gen/api/string.d.ts +49 -0
- package/control/Gen/api/struct.d.ts +8 -0
- package/control/Gen/api.d.ts +169 -0
- package/control/Gen/constraints.d.ts +32 -0
- package/control/Gen/definition.d.ts +11 -0
- package/control/Gen.d.ts +10 -0
- package/control/Live/definition.d.ts +24 -0
- package/control/Live.d.ts +1 -0
- package/control/RunnableSpec.d.ts +12 -0
- package/control/Sample/api.d.ts +79 -0
- package/control/Sample/definition.d.ts +11 -0
- package/control/Sample.d.ts +2 -0
- package/control/Sized/api.d.ts +13 -0
- package/control/Sized/definition.d.ts +14 -0
- package/control/Sized/live.d.ts +9 -0
- package/control/Sized.d.ts +3 -0
- package/control/Spec/api.d.ts +159 -0
- package/control/Spec/definition.d.ts +96 -0
- package/control/Spec.d.ts +2 -0
- package/control/SummaryBuilder.d.ts +15 -0
- package/control/Test.d.ts +20 -0
- package/control/TestAnnotationRenderer/api.d.ts +42 -0
- package/control/TestAnnotationRenderer/definition.d.ts +31 -0
- package/control/TestAnnotationRenderer.d.ts +2 -0
- package/control/TestAspect/api.d.ts +23 -0
- package/control/TestAspect/definition.d.ts +2 -0
- package/control/TestAspect.d.ts +2 -0
- package/control/TestClock/api.d.ts +21 -0
- package/control/TestClock/definition.d.ts +66 -0
- package/control/TestClock.d.ts +2 -0
- package/control/TestConsole/api.d.ts +15 -0
- package/control/TestConsole/definition.d.ts +39 -0
- package/control/TestConsole.d.ts +2 -0
- package/control/TestEnvironment.d.ts +16 -0
- package/control/TestExecutor.d.ts +13 -0
- package/control/TestLogger.d.ts +25 -0
- package/control/TestRandom/api.d.ts +49 -0
- package/control/TestRandom/definition.d.ts +91 -0
- package/control/TestRandom.d.ts +2 -0
- package/control/TestRenderer/ConsoleRenderer.d.ts +15 -0
- package/control/TestRenderer/definition.d.ts +4 -0
- package/control/TestRunner.d.ts +18 -0
- package/data/AssertionData.d.ts +24 -0
- package/data/AssertionResult.d.ts +23 -0
- package/data/AssertionValue/api.d.ts +27 -0
- package/data/AssertionValue/definition.d.ts +19 -0
- package/data/AssertionValue.d.ts +2 -0
- package/data/ExecutedSpec/api.d.ts +47 -0
- package/data/ExecutedSpec/definition.d.ts +39 -0
- package/data/ExecutedSpec.d.ts +2 -0
- package/data/ExecutionResult.d.ts +59 -0
- package/data/FailureDetails.d.ts +15 -0
- package/data/FreeBooleanAlgebra/api.d.ts +81 -0
- package/data/FreeBooleanAlgebra/definition.d.ts +38 -0
- package/data/FreeBooleanAlgebra.d.ts +2 -0
- package/data/GenFailureDetails.d.ts +6 -0
- package/data/LogLine/Fragment.d.ts +46 -0
- package/data/LogLine/Line.d.ts +62 -0
- package/data/LogLine/Message.d.ts +61 -0
- package/data/LogLine/Style.d.ts +107 -0
- package/data/LogLine/api.d.ts +11 -0
- package/data/LogLine.d.ts +2 -0
- package/data/Render/api.d.ts +13 -0
- package/data/Render/definition.d.ts +31 -0
- package/data/Render.d.ts +2 -0
- package/data/RenderParam/api.d.ts +13 -0
- package/data/RenderParam/definition.d.ts +25 -0
- package/data/RenderParam.d.ts +2 -0
- package/data/Summary.d.ts +8 -0
- package/data/TestAnnotation/api.d.ts +41 -0
- package/data/TestAnnotation/definition.d.ts +20 -0
- package/data/TestAnnotation.d.ts +2 -0
- package/data/TestAnnotationMap.d.ts +12 -0
- package/data/TestArgs/definition.d.ts +7 -0
- package/data/TestArgs.d.ts +1 -0
- package/data/TestConfig.d.ts +42 -0
- package/data/TestFailure.d.ts +46 -0
- package/data/TestSuccess.d.ts +33 -0
- package/data/TestTimeoutException.d.ts +3 -0
- package/demo.d.ts +1 -0
- package/package.json +18 -0
- package/util/math.d.ts +130 -0
@@ -0,0 +1,91 @@
|
|
1
|
+
import { Fragment } from "./Fragment.js";
|
2
|
+
import { Message } from "./Message.js";
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @tsplus type fncts.test.data.Line
|
6
|
+
* @tsplus companion fncts.test.data.LineOps
|
7
|
+
*/
|
8
|
+
export class Line {
|
9
|
+
constructor(readonly fragments: Vector<Fragment> = Vector.empty(), readonly offset = 0) {}
|
10
|
+
}
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @tsplus static fncts.test.data.LineOps empty
|
14
|
+
*/
|
15
|
+
export const empty = Line();
|
16
|
+
|
17
|
+
/**
|
18
|
+
* @tsplus static fncts.test.data.LineOps fromString
|
19
|
+
*/
|
20
|
+
export function fromString(text: string, offset = 0): Line {
|
21
|
+
return Fragment(text).toLine.withOffset(offset);
|
22
|
+
}
|
23
|
+
|
24
|
+
/**
|
25
|
+
* @tsplus static fncts.test.data.LineOps __call
|
26
|
+
*/
|
27
|
+
export function makeLine(fragments: Vector<Fragment> = Vector.empty(), offset = 0): Line {
|
28
|
+
return new Line(fragments, offset);
|
29
|
+
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* @tsplus operator fncts.test.data.Line +
|
33
|
+
*/
|
34
|
+
export function append(self: Line, that: Line): Line {
|
35
|
+
return new Line(self.fragments.concat(that.fragments), self.offset);
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* @tsplus operator fncts.test.data.Line |
|
40
|
+
*/
|
41
|
+
export function concat(self: Line, that: Line): Message {
|
42
|
+
return new Message(Vector(self, that));
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* @tsplus operator fncts.test.data.Line +
|
47
|
+
*/
|
48
|
+
export function appendTo(message: Message, self: Line): Message {
|
49
|
+
return new Message(message.lines.append(self));
|
50
|
+
}
|
51
|
+
|
52
|
+
/**
|
53
|
+
* @tsplus operator fncts.test.data.Line +
|
54
|
+
*/
|
55
|
+
export function prependTo(self: Line, message: Message): Message {
|
56
|
+
return new Message(message.lines.prepend(self));
|
57
|
+
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* @tsplus fluent fncts.test.data.Line withOffset
|
61
|
+
*/
|
62
|
+
export function withOffset(self: Line, shift: number): Line {
|
63
|
+
return new Line(self.fragments, self.offset + shift);
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* @tsplus getter fncts.test.data.Line toMessage
|
68
|
+
*/
|
69
|
+
export function toMessage(self: Line): Message {
|
70
|
+
return new Message(Vector(self));
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* @tsplus getter fncts.test.data.Line optimized
|
75
|
+
*/
|
76
|
+
export function optimized(self: Line): Line {
|
77
|
+
const newFragments = self.fragments.foldRight(List.empty<Fragment>(), (curr, rest) => {
|
78
|
+
if (rest.isNonEmpty()) {
|
79
|
+
const next = rest.head;
|
80
|
+
const fs = rest.tail;
|
81
|
+
if (curr.style === next.style) {
|
82
|
+
return Cons(Fragment(curr.text + next.text), fs);
|
83
|
+
} else {
|
84
|
+
return Cons(curr, Cons(next, fs));
|
85
|
+
}
|
86
|
+
} else {
|
87
|
+
return Cons(curr);
|
88
|
+
}
|
89
|
+
});
|
90
|
+
return Line(Vector.from(newFragments), self.offset);
|
91
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
import type { Fragment } from "./Fragment.js";
|
2
|
+
|
3
|
+
import { Line } from "./Line.js";
|
4
|
+
|
5
|
+
/**
|
6
|
+
* @tsplus type fncts.test.data.Message
|
7
|
+
* @tsplus companion fncts.test.data.MessageOps
|
8
|
+
*/
|
9
|
+
export class Message {
|
10
|
+
constructor(readonly lines: Vector<Line> = Vector.empty()) {}
|
11
|
+
}
|
12
|
+
|
13
|
+
/**
|
14
|
+
* @tsplus static fncts.test.data.MessageOps empty
|
15
|
+
*/
|
16
|
+
export const empty: Message = new Message(Vector.empty());
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @tsplus static fncts.test.data.MessageOps __call
|
20
|
+
*/
|
21
|
+
export function makeMessage(lines: Vector<Line> = Vector.empty()): Message {
|
22
|
+
return new Message(lines);
|
23
|
+
}
|
24
|
+
|
25
|
+
/**
|
26
|
+
* @tsplus operator fncts.test.data.Message +
|
27
|
+
*/
|
28
|
+
export function appendFragment(self: Message, fragment: Fragment): Message {
|
29
|
+
return self | Message(Vector(Line(Vector(fragment))));
|
30
|
+
}
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @tsplus operator fncts.test.data.Message +
|
34
|
+
*/
|
35
|
+
export function prependFragment(fragment: Fragment, self: Message): Message {
|
36
|
+
const lines = self.lines;
|
37
|
+
if (self.lines.isNonEmpty()) {
|
38
|
+
return Message(self.lines.tail.prepend(fragment + self.lines.unsafeHead!));
|
39
|
+
} else {
|
40
|
+
return Message(Vector(fragment.toLine));
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
/**
|
45
|
+
* @tsplus operator fncts.test.data.Message +
|
46
|
+
*/
|
47
|
+
export function concat_(self: Message, that: Message): Message {
|
48
|
+
return Message(self.lines.concat(that.lines));
|
49
|
+
}
|
50
|
+
|
51
|
+
/**
|
52
|
+
* @tsplus operator fncts.test.data.Message |
|
53
|
+
*/
|
54
|
+
export function combine_(self: Message, that: Message): Message {
|
55
|
+
const last = self.lines.last;
|
56
|
+
const head = that.lines.head;
|
57
|
+
if (last.isJust() && head.isJust()) {
|
58
|
+
return Message(self.lines.dropLast(1).append(last.value + head.value));
|
59
|
+
} else {
|
60
|
+
return self + that;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
/**
|
65
|
+
* @tsplus fluent fncts.test.data.Message drop
|
66
|
+
*/
|
67
|
+
export function drop_(self: Message, n: number): Message {
|
68
|
+
return Message(self.lines.drop(n));
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
* @tsplus fluent fncts.test.data.Message map
|
73
|
+
*/
|
74
|
+
export function map_(self: Message, f: (line: Line) => Line): Message {
|
75
|
+
return Message(self.lines.map(f));
|
76
|
+
}
|
77
|
+
|
78
|
+
/**
|
79
|
+
* @tsplus fluent fncts.test.data.Message withOffset
|
80
|
+
*/
|
81
|
+
export function withOffset(self: Message, offset: number): Message {
|
82
|
+
return self.map((line) => line.withOffset(offset));
|
83
|
+
}
|
84
|
+
|
85
|
+
/**
|
86
|
+
* @tsplus fluent fncts.test.data.Message intersperse
|
87
|
+
*/
|
88
|
+
export function intersperse(self: Message, line: Line): Message {
|
89
|
+
return new Message(
|
90
|
+
Vector.from(
|
91
|
+
self.lines.foldRight(List.empty<Line>(), (ln, rest) => Cons(ln, rest.isEmpty() ? Nil() : Cons(line, rest))),
|
92
|
+
),
|
93
|
+
);
|
94
|
+
}
|
@@ -0,0 +1,150 @@
|
|
1
|
+
import type { Fragment } from "./Fragment.js";
|
2
|
+
|
3
|
+
export const enum StyleTag {
|
4
|
+
Primary = "Primary",
|
5
|
+
Default = "Default",
|
6
|
+
Warning = "Warning",
|
7
|
+
Error = "Error",
|
8
|
+
Info = "Info",
|
9
|
+
Detail = "Detail",
|
10
|
+
Dimmed = "Dimmed",
|
11
|
+
Bold = "Bold",
|
12
|
+
Underlined = "Underlined",
|
13
|
+
Ansi = "Ansi",
|
14
|
+
}
|
15
|
+
|
16
|
+
export interface Primary {
|
17
|
+
readonly _tag: StyleTag.Primary;
|
18
|
+
}
|
19
|
+
|
20
|
+
/**
|
21
|
+
* @tsplus static fncts.test.data.StyleOps Primary
|
22
|
+
*/
|
23
|
+
export const Primary: Style = {
|
24
|
+
_tag: StyleTag.Primary,
|
25
|
+
};
|
26
|
+
|
27
|
+
export interface Default {
|
28
|
+
readonly _tag: StyleTag.Default;
|
29
|
+
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* @tsplus static fncts.test.data.StyleOps Default
|
33
|
+
*/
|
34
|
+
export const Default: Style = {
|
35
|
+
_tag: StyleTag.Default,
|
36
|
+
};
|
37
|
+
|
38
|
+
export interface Warning {
|
39
|
+
readonly _tag: StyleTag.Warning;
|
40
|
+
}
|
41
|
+
|
42
|
+
/**
|
43
|
+
* @tsplus static fncts.test.data.StyleOps Warning
|
44
|
+
*/
|
45
|
+
export const Warning: Style = {
|
46
|
+
_tag: StyleTag.Warning,
|
47
|
+
};
|
48
|
+
|
49
|
+
export interface Error {
|
50
|
+
readonly _tag: StyleTag.Error;
|
51
|
+
}
|
52
|
+
|
53
|
+
/**
|
54
|
+
* @tsplus static fncts.test.data.StyleOps Error
|
55
|
+
*/
|
56
|
+
export const Error: Style = {
|
57
|
+
_tag: StyleTag.Error,
|
58
|
+
};
|
59
|
+
|
60
|
+
export interface Info {
|
61
|
+
readonly _tag: StyleTag.Info;
|
62
|
+
}
|
63
|
+
|
64
|
+
/**
|
65
|
+
* @tsplus static fncts.test.data.StyleOps Info
|
66
|
+
*/
|
67
|
+
export const Info: Style = {
|
68
|
+
_tag: StyleTag.Info,
|
69
|
+
};
|
70
|
+
|
71
|
+
export interface Detail {
|
72
|
+
readonly _tag: StyleTag.Detail;
|
73
|
+
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* @tsplus static fncts.test.data.StyleOps Detail
|
77
|
+
*/
|
78
|
+
export const Detail: Style = {
|
79
|
+
_tag: StyleTag.Detail,
|
80
|
+
};
|
81
|
+
|
82
|
+
export interface Dimmed {
|
83
|
+
readonly _tag: StyleTag.Dimmed;
|
84
|
+
}
|
85
|
+
|
86
|
+
/**
|
87
|
+
* @tsplus static fncts.test.data.StyleOps Dimmed
|
88
|
+
*/
|
89
|
+
export const Dimmed: Style = {
|
90
|
+
_tag: StyleTag.Dimmed,
|
91
|
+
};
|
92
|
+
|
93
|
+
export interface Bold {
|
94
|
+
readonly _tag: StyleTag.Bold;
|
95
|
+
readonly fr: Fragment;
|
96
|
+
}
|
97
|
+
|
98
|
+
/**
|
99
|
+
* @tsplus static fncts.test.data.StyleOps Bold
|
100
|
+
*/
|
101
|
+
export function Bold(fr: Fragment): Style {
|
102
|
+
return {
|
103
|
+
_tag: StyleTag.Bold,
|
104
|
+
fr,
|
105
|
+
};
|
106
|
+
}
|
107
|
+
|
108
|
+
export interface Underlined {
|
109
|
+
readonly _tag: StyleTag.Underlined;
|
110
|
+
readonly fr: Fragment;
|
111
|
+
}
|
112
|
+
|
113
|
+
/**
|
114
|
+
* @tsplus static fncts.test.data.StyleOps Underlined
|
115
|
+
*/
|
116
|
+
export function Underlined(fr: Fragment): Style {
|
117
|
+
return {
|
118
|
+
_tag: StyleTag.Underlined,
|
119
|
+
fr,
|
120
|
+
};
|
121
|
+
}
|
122
|
+
|
123
|
+
export interface Ansi {
|
124
|
+
readonly _tag: StyleTag.Ansi;
|
125
|
+
readonly fr: Fragment;
|
126
|
+
readonly ansiColor: string;
|
127
|
+
}
|
128
|
+
|
129
|
+
/**
|
130
|
+
* @tsplus static fncts.test.data.StyleOps Ansi
|
131
|
+
*/
|
132
|
+
export function Ansi(fr: Fragment, ansiColor: string): Style {
|
133
|
+
return {
|
134
|
+
_tag: StyleTag.Ansi,
|
135
|
+
fr,
|
136
|
+
ansiColor,
|
137
|
+
};
|
138
|
+
}
|
139
|
+
|
140
|
+
/**
|
141
|
+
* @tsplus type fncts.test.data.StyleOps
|
142
|
+
*/
|
143
|
+
export type Style = Primary | Default | Warning | Error | Info | Detail | Dimmed | Bold | Underlined | Ansi;
|
144
|
+
|
145
|
+
/**
|
146
|
+
* @tsplus type fncts.test.data.StyleOps
|
147
|
+
*/
|
148
|
+
export interface StyleOps {}
|
149
|
+
|
150
|
+
export const Style: StyleOps = {};
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { Fragment } from "./Fragment.js";
|
2
|
+
import { Style } from "./Style.js";
|
3
|
+
|
4
|
+
export function info(s: string): Fragment {
|
5
|
+
return new Fragment(s, Style.Info);
|
6
|
+
}
|
7
|
+
|
8
|
+
export function error(s: string): Fragment {
|
9
|
+
return new Fragment(s, Style.Error);
|
10
|
+
}
|
11
|
+
|
12
|
+
export function warn(s: string): Fragment {
|
13
|
+
return new Fragment(s, Style.Warning);
|
14
|
+
}
|
15
|
+
|
16
|
+
export function primary(s: string): Fragment {
|
17
|
+
return new Fragment(s, Style.Primary);
|
18
|
+
}
|
19
|
+
|
20
|
+
export function detail(s: string): Fragment {
|
21
|
+
return new Fragment(s, Style.Detail);
|
22
|
+
}
|
23
|
+
|
24
|
+
export function fr(s: string): Fragment {
|
25
|
+
return new Fragment(s, Style.Default);
|
26
|
+
}
|
27
|
+
|
28
|
+
export function dim(s: string): Fragment {
|
29
|
+
return new Fragment(s, Style.Dimmed);
|
30
|
+
}
|
31
|
+
|
32
|
+
export function bold(s: string): Fragment {
|
33
|
+
return fr(s).bold;
|
34
|
+
}
|
35
|
+
|
36
|
+
export function underlined(s: string): Fragment {
|
37
|
+
return fr(s).underlined;
|
38
|
+
}
|
39
|
+
|
40
|
+
export const sp = new Fragment(" ");
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { RenderParam } from "../RenderParam.js";
|
2
|
+
import type { Render } from "./definition.js";
|
3
|
+
|
4
|
+
import { RenderFunction, RenderInfix } from "./definition.js";
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @tsplus static fncts.test.data.RenderOps fn
|
8
|
+
*/
|
9
|
+
export function fn(name: string, paramLists: Conc<Conc<RenderParam>>): Render {
|
10
|
+
return new RenderFunction(name, paramLists);
|
11
|
+
}
|
12
|
+
|
13
|
+
/**
|
14
|
+
* @tsplus static fncts.test.data.RenderOps infix
|
15
|
+
*/
|
16
|
+
export function infix(left: RenderParam, op: string, right: RenderParam): Render {
|
17
|
+
return new RenderInfix(left, op, right);
|
18
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import type { RenderParam } from "../RenderParam.js";
|
2
|
+
|
3
|
+
export const enum RenderTag {
|
4
|
+
Function = "Function",
|
5
|
+
Infix = "Infix",
|
6
|
+
}
|
7
|
+
|
8
|
+
export class RenderFunction {
|
9
|
+
readonly _tag = RenderTag.Function;
|
10
|
+
constructor(readonly name: string, readonly paramLists: Conc<Conc<RenderParam>>) {}
|
11
|
+
|
12
|
+
get rendered(): string {
|
13
|
+
return `${this.name}(${this.paramLists.map((ps) => ps.map((p) => p.rendered).join(", ")).join("")})`;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
export class RenderInfix {
|
18
|
+
readonly _tag = RenderTag.Infix;
|
19
|
+
constructor(readonly left: RenderParam, readonly op: string, readonly right: RenderParam) {}
|
20
|
+
|
21
|
+
get rendered(): string {
|
22
|
+
return `(${this.left.rendered} ${this.op} ${this.right.rendered})`;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
/**
|
27
|
+
* @tsplus type fncts.test.data.Render
|
28
|
+
*/
|
29
|
+
export type Render = RenderFunction | RenderInfix;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* @tsplus type fncts.test.data.RenderOps
|
33
|
+
*/
|
34
|
+
export interface RenderOps {}
|
35
|
+
|
36
|
+
export const Render: RenderOps = {};
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import type { AssertionIO } from "../../control/AssertionIO/definition.js";
|
2
|
+
import type { RenderParam } from "./definition.js";
|
3
|
+
|
4
|
+
import { show } from "@fncts/base/typeclass/Showable";
|
5
|
+
|
6
|
+
import { isAssertionIO } from "../../control/AssertionIO/definition.js";
|
7
|
+
import { RenderAssertionIO, RenderParamTag, RenderValue } from "./definition.js";
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @tsplus static fncts.test.data.RenderParamOps __call
|
11
|
+
*/
|
12
|
+
export function param<A>(assertion: AssertionIO<A>): RenderParam;
|
13
|
+
export function param<A>(value: A): RenderParam;
|
14
|
+
export function param(value: any): RenderParam {
|
15
|
+
if (isAssertionIO(value)) {
|
16
|
+
return new RenderAssertionIO(value);
|
17
|
+
}
|
18
|
+
return new RenderValue(value);
|
19
|
+
}
|
20
|
+
|
21
|
+
/**
|
22
|
+
* @tsplus getter fncts.test.data.RenderParam rendered
|
23
|
+
*/
|
24
|
+
export function rendered<A>(self: RenderParam<A>): string {
|
25
|
+
switch (self._tag) {
|
26
|
+
case RenderParamTag.AssertionIO:
|
27
|
+
return self.assertion.rendered;
|
28
|
+
case RenderParamTag.Value:
|
29
|
+
return show(self.value);
|
30
|
+
}
|
31
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import type { AssertionIO } from "../../control/AssertionIO/definition.js";
|
2
|
+
|
3
|
+
export const enum RenderParamTag {
|
4
|
+
AssertionIO = "AssertionIO",
|
5
|
+
Value = "Value",
|
6
|
+
}
|
7
|
+
|
8
|
+
export class RenderAssertionIO<A> {
|
9
|
+
readonly _tag = RenderParamTag.AssertionIO;
|
10
|
+
constructor(readonly assertion: AssertionIO<A>) {}
|
11
|
+
}
|
12
|
+
|
13
|
+
export class RenderValue<A> {
|
14
|
+
readonly _tag = RenderParamTag.Value;
|
15
|
+
constructor(readonly value: A) {}
|
16
|
+
}
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @tsplus type fncts.test.data.RenderParam
|
20
|
+
*/
|
21
|
+
export type RenderParam<A = any> = RenderAssertionIO<A> | RenderValue<A>;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* @tsplus type fncts.test.data.RenderParamOps
|
25
|
+
*/
|
26
|
+
export interface RenderParamOps {}
|
27
|
+
|
28
|
+
export const RenderParam: RenderParamOps = {};
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { TestAnnotation } from "./definition.js";
|
2
|
+
|
3
|
+
export const IgnoredTag = Tag<number>();
|
4
|
+
/**
|
5
|
+
* @tsplus static fncts.test.TestAnnotationOps Ignored
|
6
|
+
*/
|
7
|
+
export const Ignored = new TestAnnotation(IgnoredTag, "ignored", 0, (x, y) => x + y);
|
8
|
+
|
9
|
+
export const RepeatedTag = Tag<number>();
|
10
|
+
/**
|
11
|
+
* @tsplus static fncts.test.TestAnnotationOps Repeated
|
12
|
+
*/
|
13
|
+
export const Repeated = new TestAnnotation(RepeatedTag, "repeated", 0, (x, y) => x + y);
|
14
|
+
|
15
|
+
export const RetriedTag = Tag<number>();
|
16
|
+
/**
|
17
|
+
* @tsplus static fncts.test.TestAnnotationOps Retried
|
18
|
+
*/
|
19
|
+
export const Retried = new TestAnnotation(RetriedTag, "retried", 0, (x, y) => x + y);
|
20
|
+
|
21
|
+
export const TaggedTag = Tag<HashSet<string>>();
|
22
|
+
/**
|
23
|
+
* @tsplus static fncts.test.TestAnnotationOps Tagged
|
24
|
+
*/
|
25
|
+
export const Tagged = new TestAnnotation(TaggedTag, "tagged", HashSet.makeDefault(), (x, y) => x.union(y));
|
26
|
+
|
27
|
+
export const TimingTag = Tag<number>();
|
28
|
+
/**
|
29
|
+
* @tsplus static fncts.test.TestAnnotationOps Timing
|
30
|
+
*/
|
31
|
+
export const Timing = new TestAnnotation(TimingTag, "timing", 0, (x, y) => x + y);
|
32
|
+
|
33
|
+
export const FibersTag = Tag<Either<number, Conc<Ref<HashSet<Fiber.Runtime<any, any>>>>>>();
|
34
|
+
/**
|
35
|
+
* @tsplus static fncts.test.TestAnnotationOps Fibers
|
36
|
+
*/
|
37
|
+
export const Fibers = new TestAnnotation(FibersTag, "fibers", Either.left(0), (left, right) => {
|
38
|
+
return left.isLeft()
|
39
|
+
? right.isLeft()
|
40
|
+
? Either.left(left.left + right.left)
|
41
|
+
: right
|
42
|
+
: left.isRight()
|
43
|
+
? right.isRight()
|
44
|
+
? Either.right(left.right.concat(right.right))
|
45
|
+
: right
|
46
|
+
: (() => {
|
47
|
+
throw new Error("absurd");
|
48
|
+
})();
|
49
|
+
});
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { hasTypeId } from "@fncts/base/util/predicates";
|
2
|
+
|
3
|
+
export const TestAnnotationTypeId = Symbol.for("fncts.test.TestAnnotation");
|
4
|
+
export type TestAnnotationTypeId = typeof TestAnnotationTypeId;
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @tsplus type fncts.test.TestAnnotation
|
8
|
+
* @tsplus companion fncts.test.TestAnnotationOps
|
9
|
+
*/
|
10
|
+
export class TestAnnotation<V> implements Hashable, Equatable {
|
11
|
+
readonly _typeId: TestAnnotationTypeId = TestAnnotationTypeId;
|
12
|
+
readonly _V!: () => V;
|
13
|
+
|
14
|
+
constructor(
|
15
|
+
readonly tag: Tag<V>,
|
16
|
+
readonly identifier: string,
|
17
|
+
readonly initial: V,
|
18
|
+
readonly combine: (v1: V, v2: V) => V,
|
19
|
+
) {}
|
20
|
+
|
21
|
+
get [Symbol.hash]() {
|
22
|
+
return Hashable.combine(Hashable.string(this.identifier), Hashable.unknown(this.tag));
|
23
|
+
}
|
24
|
+
|
25
|
+
[Symbol.equals](that: unknown) {
|
26
|
+
return (
|
27
|
+
isTestAnnotation(that) &&
|
28
|
+
Equatable.strictEquals(this.tag, that.tag) &&
|
29
|
+
this.identifier === that.identifier &&
|
30
|
+
Equatable.strictEquals(this.initial, that.initial)
|
31
|
+
);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
export function isTestAnnotation(u: unknown): u is TestAnnotation<unknown> {
|
36
|
+
return hasTypeId(u, TestAnnotationTypeId);
|
37
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import type { TestAnnotation } from "./TestAnnotation.js";
|
2
|
+
|
3
|
+
import { identity } from "@fncts/base/data/function";
|
4
|
+
|
5
|
+
export class TestAnnotationMap {
|
6
|
+
constructor(private readonly map: HashMap<TestAnnotation<any>, any>) {}
|
7
|
+
|
8
|
+
combine(that: TestAnnotationMap): TestAnnotationMap {
|
9
|
+
return new TestAnnotationMap(
|
10
|
+
Conc.from(this.map)
|
11
|
+
.concat(Conc.from(that.map))
|
12
|
+
.foldLeft(HashMap.makeDefault(), (acc, [k, v]) =>
|
13
|
+
acc.set(
|
14
|
+
k,
|
15
|
+
acc.get(k).match(
|
16
|
+
() => v,
|
17
|
+
(_) => k.combine(_, v),
|
18
|
+
),
|
19
|
+
),
|
20
|
+
),
|
21
|
+
);
|
22
|
+
}
|
23
|
+
|
24
|
+
get<V>(key: TestAnnotation<V>): V {
|
25
|
+
return this.map.get(key).match(() => key.initial, identity);
|
26
|
+
}
|
27
|
+
|
28
|
+
private overwrite<V>(key: TestAnnotation<V>, value: V): TestAnnotationMap {
|
29
|
+
return new TestAnnotationMap(this.map.set(key, value));
|
30
|
+
}
|
31
|
+
|
32
|
+
private update<V>(key: TestAnnotation<V>, f: (v: V) => V): TestAnnotationMap {
|
33
|
+
return this.overwrite(key, f(this.get(key)));
|
34
|
+
}
|
35
|
+
|
36
|
+
annotate<V>(key: TestAnnotation<V>, value: V): TestAnnotationMap {
|
37
|
+
return this.update(key, (_) => key.combine(_, value));
|
38
|
+
}
|
39
|
+
|
40
|
+
static empty: TestAnnotationMap = new TestAnnotationMap(HashMap.makeDefault());
|
41
|
+
}
|