@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.
Files changed (632) hide show
  1. package/TestSpec.d.ts +4 -0
  2. package/_cjs/api.cjs +91 -0
  3. package/_cjs/api.cjs.map +1 -0
  4. package/_cjs/control/AbstractRunnableSpec.cjs +30 -0
  5. package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -0
  6. package/_cjs/control/Annotations/api.cjs +50 -0
  7. package/_cjs/control/Annotations/api.cjs.map +1 -0
  8. package/_cjs/control/Annotations/definition.cjs +27 -0
  9. package/_cjs/control/Annotations/definition.cjs.map +1 -0
  10. package/_cjs/control/Annotations/live.cjs +68 -0
  11. package/_cjs/control/Annotations/live.cjs.map +1 -0
  12. package/_cjs/control/Annotations.cjs +45 -0
  13. package/_cjs/control/Annotations.cjs.map +1 -0
  14. package/_cjs/control/Assertion/api.cjs +256 -0
  15. package/_cjs/control/Assertion/api.cjs.map +1 -0
  16. package/_cjs/control/Assertion/definition.cjs +32 -0
  17. package/_cjs/control/Assertion/definition.cjs.map +1 -0
  18. package/_cjs/control/Assertion.cjs +32 -0
  19. package/_cjs/control/Assertion.cjs.map +1 -0
  20. package/_cjs/control/AssertionIO/api.cjs +46 -0
  21. package/_cjs/control/AssertionIO/api.cjs.map +1 -0
  22. package/_cjs/control/AssertionIO/definition.cjs +37 -0
  23. package/_cjs/control/AssertionIO/definition.cjs.map +1 -0
  24. package/_cjs/control/AssertionIO.cjs +32 -0
  25. package/_cjs/control/AssertionIO.cjs.map +1 -0
  26. package/_cjs/control/DefaultRunnableSpec.cjs +30 -0
  27. package/_cjs/control/DefaultRunnableSpec.cjs.map +1 -0
  28. package/_cjs/control/DefaultTestReporter/definition.cjs +9 -0
  29. package/_cjs/control/DefaultTestReporter/definition.cjs.map +1 -0
  30. package/_cjs/control/DefaultTestReporter/render.cjs +288 -0
  31. package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -0
  32. package/_cjs/control/DefaultTestReporter.cjs +32 -0
  33. package/_cjs/control/DefaultTestReporter.cjs.map +1 -0
  34. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +89 -0
  35. package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -0
  36. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs +9 -0
  37. package/_cjs/control/FreeBooleanAlgebraIO/definition.cjs.map +1 -0
  38. package/_cjs/control/FreeBooleanAlgebraIO.cjs +32 -0
  39. package/_cjs/control/FreeBooleanAlgebraIO.cjs.map +1 -0
  40. package/_cjs/control/Gen/api/array.cjs +50 -0
  41. package/_cjs/control/Gen/api/array.cjs.map +1 -0
  42. package/_cjs/control/Gen/api/char.cjs +129 -0
  43. package/_cjs/control/Gen/api/char.cjs.map +1 -0
  44. package/_cjs/control/Gen/api/conc.cjs +70 -0
  45. package/_cjs/control/Gen/api/conc.cjs.map +1 -0
  46. package/_cjs/control/Gen/api/double.cjs +82 -0
  47. package/_cjs/control/Gen/api/double.cjs.map +1 -0
  48. package/_cjs/control/Gen/api/float.cjs +55 -0
  49. package/_cjs/control/Gen/api/float.cjs.map +1 -0
  50. package/_cjs/control/Gen/api/string.cjs +102 -0
  51. package/_cjs/control/Gen/api/string.cjs.map +1 -0
  52. package/_cjs/control/Gen/api/struct.cjs +36 -0
  53. package/_cjs/control/Gen/api/struct.cjs.map +1 -0
  54. package/_cjs/control/Gen/api.cjs +369 -0
  55. package/_cjs/control/Gen/api.cjs.map +1 -0
  56. package/_cjs/control/Gen/constraints.cjs +6 -0
  57. package/_cjs/control/Gen/constraints.cjs.map +1 -0
  58. package/_cjs/control/Gen/definition.cjs +20 -0
  59. package/_cjs/control/Gen/definition.cjs.map +1 -0
  60. package/_cjs/control/Gen.cjs +136 -0
  61. package/_cjs/control/Gen.cjs.map +1 -0
  62. package/_cjs/control/Live/definition.cjs +67 -0
  63. package/_cjs/control/Live/definition.cjs.map +1 -0
  64. package/_cjs/control/Live.cjs +19 -0
  65. package/_cjs/control/Live.cjs.map +1 -0
  66. package/_cjs/control/RunnableSpec.cjs +70 -0
  67. package/_cjs/control/RunnableSpec.cjs.map +1 -0
  68. package/_cjs/control/Sample/api.cjs +244 -0
  69. package/_cjs/control/Sample/api.cjs.map +1 -0
  70. package/_cjs/control/Sample/definition.cjs +21 -0
  71. package/_cjs/control/Sample/definition.cjs.map +1 -0
  72. package/_cjs/control/Sample.cjs +32 -0
  73. package/_cjs/control/Sample.cjs.map +1 -0
  74. package/_cjs/control/Sized/api.cjs +32 -0
  75. package/_cjs/control/Sized/api.cjs.map +1 -0
  76. package/_cjs/control/Sized/definition.cjs +27 -0
  77. package/_cjs/control/Sized/definition.cjs.map +1 -0
  78. package/_cjs/control/Sized/live.cjs +42 -0
  79. package/_cjs/control/Sized/live.cjs.map +1 -0
  80. package/_cjs/control/Sized.cjs +45 -0
  81. package/_cjs/control/Sized.cjs.map +1 -0
  82. package/_cjs/control/Spec/api.cjs +525 -0
  83. package/_cjs/control/Spec/api.cjs.map +1 -0
  84. package/_cjs/control/Spec/definition.cjs +125 -0
  85. package/_cjs/control/Spec/definition.cjs.map +1 -0
  86. package/_cjs/control/Spec.cjs +32 -0
  87. package/_cjs/control/Spec.cjs.map +1 -0
  88. package/_cjs/control/SummaryBuilder.cjs +87 -0
  89. package/_cjs/control/SummaryBuilder.cjs.map +1 -0
  90. package/_cjs/control/Test.cjs +34 -0
  91. package/_cjs/control/Test.cjs.map +1 -0
  92. package/_cjs/control/TestAnnotationRenderer/api.cjs +101 -0
  93. package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -0
  94. package/_cjs/control/TestAnnotationRenderer/definition.cjs +53 -0
  95. package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -0
  96. package/_cjs/control/TestAnnotationRenderer.cjs +32 -0
  97. package/_cjs/control/TestAnnotationRenderer.cjs.map +1 -0
  98. package/_cjs/control/TestAspect/api.cjs +148 -0
  99. package/_cjs/control/TestAspect/api.cjs.map +1 -0
  100. package/_cjs/control/TestAspect/definition.cjs +6 -0
  101. package/_cjs/control/TestAspect/definition.cjs.map +1 -0
  102. package/_cjs/control/TestAspect.cjs +32 -0
  103. package/_cjs/control/TestAspect.cjs.map +1 -0
  104. package/_cjs/control/TestClock/api.cjs +72 -0
  105. package/_cjs/control/TestClock/api.cjs.map +1 -0
  106. package/_cjs/control/TestClock/definition.cjs +225 -0
  107. package/_cjs/control/TestClock/definition.cjs.map +1 -0
  108. package/_cjs/control/TestClock.cjs +32 -0
  109. package/_cjs/control/TestClock.cjs.map +1 -0
  110. package/_cjs/control/TestConsole/api.cjs +64 -0
  111. package/_cjs/control/TestConsole/api.cjs.map +1 -0
  112. package/_cjs/control/TestConsole/definition.cjs +100 -0
  113. package/_cjs/control/TestConsole/definition.cjs.map +1 -0
  114. package/_cjs/control/TestConsole.cjs +32 -0
  115. package/_cjs/control/TestConsole.cjs.map +1 -0
  116. package/_cjs/control/TestEnvironment.cjs +39 -0
  117. package/_cjs/control/TestEnvironment.cjs.map +1 -0
  118. package/_cjs/control/TestExecutor.cjs +58 -0
  119. package/_cjs/control/TestExecutor.cjs.map +1 -0
  120. package/_cjs/control/TestLogger.cjs +58 -0
  121. package/_cjs/control/TestLogger.cjs.map +1 -0
  122. package/_cjs/control/TestRandom/api.cjs +125 -0
  123. package/_cjs/control/TestRandom/api.cjs.map +1 -0
  124. package/_cjs/control/TestRandom/definition.cjs +458 -0
  125. package/_cjs/control/TestRandom/definition.cjs.map +1 -0
  126. package/_cjs/control/TestRandom.cjs +32 -0
  127. package/_cjs/control/TestRandom.cjs.map +1 -0
  128. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +113 -0
  129. package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -0
  130. package/_cjs/control/TestRenderer/definition.cjs +6 -0
  131. package/_cjs/control/TestRenderer/definition.cjs.map +1 -0
  132. package/_cjs/control/TestRunner.cjs +45 -0
  133. package/_cjs/control/TestRunner.cjs.map +1 -0
  134. package/_cjs/data/AssertionData.cjs +55 -0
  135. package/_cjs/data/AssertionData.cjs.map +1 -0
  136. package/_cjs/data/AssertionResult.cjs +34 -0
  137. package/_cjs/data/AssertionResult.cjs.map +1 -0
  138. package/_cjs/data/AssertionValue/api.cjs +64 -0
  139. package/_cjs/data/AssertionValue/api.cjs.map +1 -0
  140. package/_cjs/data/AssertionValue/definition.cjs +35 -0
  141. package/_cjs/data/AssertionValue/definition.cjs.map +1 -0
  142. package/_cjs/data/AssertionValue.cjs +32 -0
  143. package/_cjs/data/AssertionValue.cjs.map +1 -0
  144. package/_cjs/data/ExecutedSpec/api.cjs +132 -0
  145. package/_cjs/data/ExecutedSpec/api.cjs.map +1 -0
  146. package/_cjs/data/ExecutedSpec/definition.cjs +58 -0
  147. package/_cjs/data/ExecutedSpec/definition.cjs.map +1 -0
  148. package/_cjs/data/ExecutedSpec.cjs +32 -0
  149. package/_cjs/data/ExecutedSpec.cjs.map +1 -0
  150. package/_cjs/data/ExecutionResult.cjs +142 -0
  151. package/_cjs/data/ExecutionResult.cjs.map +1 -0
  152. package/_cjs/data/FailureDetails.cjs +17 -0
  153. package/_cjs/data/FailureDetails.cjs.map +1 -0
  154. package/_cjs/data/FreeBooleanAlgebra/api.cjs +194 -0
  155. package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -0
  156. package/_cjs/data/FreeBooleanAlgebra/definition.cjs +59 -0
  157. package/_cjs/data/FreeBooleanAlgebra/definition.cjs.map +1 -0
  158. package/_cjs/data/FreeBooleanAlgebra.cjs +32 -0
  159. package/_cjs/data/FreeBooleanAlgebra.cjs.map +1 -0
  160. package/_cjs/data/GenFailureDetails.cjs +18 -0
  161. package/_cjs/data/GenFailureDetails.cjs.map +1 -0
  162. package/_cjs/data/LogLine/Fragment.cjs +94 -0
  163. package/_cjs/data/LogLine/Fragment.cjs.map +1 -0
  164. package/_cjs/data/LogLine/Line.cjs +142 -0
  165. package/_cjs/data/LogLine/Line.cjs.map +1 -0
  166. package/_cjs/data/LogLine/Message.cjs +145 -0
  167. package/_cjs/data/LogLine/Message.cjs.map +1 -0
  168. package/_cjs/data/LogLine/Style.cjs +124 -0
  169. package/_cjs/data/LogLine/Style.cjs.map +1 -0
  170. package/_cjs/data/LogLine/api.cjs +65 -0
  171. package/_cjs/data/LogLine/api.cjs.map +1 -0
  172. package/_cjs/data/LogLine.cjs +32 -0
  173. package/_cjs/data/LogLine.cjs.map +1 -0
  174. package/_cjs/data/Render/api.cjs +25 -0
  175. package/_cjs/data/Render/api.cjs.map +1 -0
  176. package/_cjs/data/Render/definition.cjs +52 -0
  177. package/_cjs/data/Render/definition.cjs.map +1 -0
  178. package/_cjs/data/Render.cjs +32 -0
  179. package/_cjs/data/Render.cjs.map +1 -0
  180. package/_cjs/data/RenderParam/api.cjs +40 -0
  181. package/_cjs/data/RenderParam/api.cjs.map +1 -0
  182. package/_cjs/data/RenderParam/definition.cjs +33 -0
  183. package/_cjs/data/RenderParam/definition.cjs.map +1 -0
  184. package/_cjs/data/RenderParam.cjs +32 -0
  185. package/_cjs/data/RenderParam.cjs.map +1 -0
  186. package/_cjs/data/Summary.cjs +20 -0
  187. package/_cjs/data/Summary.cjs.map +1 -0
  188. package/_cjs/data/TestAnnotation/api.cjs +76 -0
  189. package/_cjs/data/TestAnnotation/api.cjs.map +1 -0
  190. package/_cjs/data/TestAnnotation/definition.cjs +55 -0
  191. package/_cjs/data/TestAnnotation/definition.cjs.map +1 -0
  192. package/_cjs/data/TestAnnotation.cjs +32 -0
  193. package/_cjs/data/TestAnnotation.cjs.map +1 -0
  194. package/_cjs/data/TestAnnotationMap.cjs +51 -0
  195. package/_cjs/data/TestAnnotationMap.cjs.map +1 -0
  196. package/_cjs/data/TestArgs/definition.cjs +18 -0
  197. package/_cjs/data/TestArgs/definition.cjs.map +1 -0
  198. package/_cjs/data/TestArgs.cjs +19 -0
  199. package/_cjs/data/TestArgs.cjs.map +1 -0
  200. package/_cjs/data/TestConfig.cjs +76 -0
  201. package/_cjs/data/TestConfig.cjs.map +1 -0
  202. package/_cjs/data/TestFailure.cjs +75 -0
  203. package/_cjs/data/TestFailure.cjs.map +1 -0
  204. package/_cjs/data/TestSuccess.cjs +48 -0
  205. package/_cjs/data/TestSuccess.cjs.map +1 -0
  206. package/_cjs/data/TestTimeoutException.cjs +16 -0
  207. package/_cjs/data/TestTimeoutException.cjs.map +1 -0
  208. package/_cjs/demo.cjs +44 -0
  209. package/_cjs/demo.cjs.map +1 -0
  210. package/_cjs/util/math.cjs +673 -0
  211. package/_cjs/util/math.cjs.map +1 -0
  212. package/_mjs/api.mjs +57 -0
  213. package/_mjs/api.mjs.map +1 -0
  214. package/_mjs/control/AbstractRunnableSpec.mjs +16 -0
  215. package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -0
  216. package/_mjs/control/Annotations/api.mjs +30 -0
  217. package/_mjs/control/Annotations/api.mjs.map +1 -0
  218. package/_mjs/control/Annotations/definition.mjs +13 -0
  219. package/_mjs/control/Annotations/definition.mjs.map +1 -0
  220. package/_mjs/control/Annotations/live.mjs +40 -0
  221. package/_mjs/control/Annotations/live.mjs.map +1 -0
  222. package/_mjs/control/Annotations.mjs +5 -0
  223. package/_mjs/control/Annotations.mjs.map +1 -0
  224. package/_mjs/control/Assertion/api.mjs +170 -0
  225. package/_mjs/control/Assertion/api.mjs.map +1 -0
  226. package/_mjs/control/Assertion/definition.mjs +17 -0
  227. package/_mjs/control/Assertion/definition.mjs.map +1 -0
  228. package/_mjs/control/Assertion.mjs +4 -0
  229. package/_mjs/control/Assertion.mjs.map +1 -0
  230. package/_mjs/control/AssertionIO/api.mjs +28 -0
  231. package/_mjs/control/AssertionIO/api.mjs.map +1 -0
  232. package/_mjs/control/AssertionIO/definition.mjs +23 -0
  233. package/_mjs/control/AssertionIO/definition.mjs.map +1 -0
  234. package/_mjs/control/AssertionIO.mjs +4 -0
  235. package/_mjs/control/AssertionIO.mjs.map +1 -0
  236. package/_mjs/control/DefaultRunnableSpec.mjs +15 -0
  237. package/_mjs/control/DefaultRunnableSpec.mjs.map +1 -0
  238. package/_mjs/control/DefaultTestReporter/definition.mjs +2 -0
  239. package/_mjs/control/DefaultTestReporter/definition.mjs.map +1 -0
  240. package/_mjs/control/DefaultTestReporter/render.mjs +245 -0
  241. package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -0
  242. package/_mjs/control/DefaultTestReporter.mjs +4 -0
  243. package/_mjs/control/DefaultTestReporter.mjs.map +1 -0
  244. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +62 -0
  245. package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -0
  246. package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs +2 -0
  247. package/_mjs/control/FreeBooleanAlgebraIO/definition.mjs.map +1 -0
  248. package/_mjs/control/FreeBooleanAlgebraIO.mjs +4 -0
  249. package/_mjs/control/FreeBooleanAlgebraIO.mjs.map +1 -0
  250. package/_mjs/control/Gen/api/array.mjs +31 -0
  251. package/_mjs/control/Gen/api/array.mjs.map +1 -0
  252. package/_mjs/control/Gen/api/char.mjs +95 -0
  253. package/_mjs/control/Gen/api/char.mjs.map +1 -0
  254. package/_mjs/control/Gen/api/conc.mjs +46 -0
  255. package/_mjs/control/Gen/api/conc.mjs.map +1 -0
  256. package/_mjs/control/Gen/api/double.mjs +60 -0
  257. package/_mjs/control/Gen/api/double.mjs.map +1 -0
  258. package/_mjs/control/Gen/api/float.mjs +41 -0
  259. package/_mjs/control/Gen/api/float.mjs.map +1 -0
  260. package/_mjs/control/Gen/api/string.mjs +72 -0
  261. package/_mjs/control/Gen/api/string.mjs.map +1 -0
  262. package/_mjs/control/Gen/api/struct.mjs +18 -0
  263. package/_mjs/control/Gen/api/struct.mjs.map +1 -0
  264. package/_mjs/control/Gen/api.mjs +288 -0
  265. package/_mjs/control/Gen/api.mjs.map +1 -0
  266. package/_mjs/control/Gen/constraints.mjs +2 -0
  267. package/_mjs/control/Gen/constraints.mjs.map +1 -0
  268. package/_mjs/control/Gen/definition.mjs +11 -0
  269. package/_mjs/control/Gen/definition.mjs.map +1 -0
  270. package/_mjs/control/Gen.mjs +14 -0
  271. package/_mjs/control/Gen.mjs.map +1 -0
  272. package/_mjs/control/Live/definition.mjs +42 -0
  273. package/_mjs/control/Live/definition.mjs.map +1 -0
  274. package/_mjs/control/Live.mjs +3 -0
  275. package/_mjs/control/Live.mjs.map +1 -0
  276. package/_mjs/control/RunnableSpec.mjs +44 -0
  277. package/_mjs/control/RunnableSpec.mjs.map +1 -0
  278. package/_mjs/control/Sample/api.mjs +195 -0
  279. package/_mjs/control/Sample/api.mjs.map +1 -0
  280. package/_mjs/control/Sample/definition.mjs +12 -0
  281. package/_mjs/control/Sample/definition.mjs.map +1 -0
  282. package/_mjs/control/Sample.mjs +4 -0
  283. package/_mjs/control/Sample.mjs.map +1 -0
  284. package/_mjs/control/Sized/api.mjs +16 -0
  285. package/_mjs/control/Sized/api.mjs.map +1 -0
  286. package/_mjs/control/Sized/definition.mjs +13 -0
  287. package/_mjs/control/Sized/definition.mjs.map +1 -0
  288. package/_mjs/control/Sized/live.mjs +25 -0
  289. package/_mjs/control/Sized/live.mjs.map +1 -0
  290. package/_mjs/control/Sized.mjs +5 -0
  291. package/_mjs/control/Sized.mjs.map +1 -0
  292. package/_mjs/control/Spec/api.mjs +449 -0
  293. package/_mjs/control/Spec/api.mjs.map +1 -0
  294. package/_mjs/control/Spec/definition.mjs +96 -0
  295. package/_mjs/control/Spec/definition.mjs.map +1 -0
  296. package/_mjs/control/Spec.mjs +4 -0
  297. package/_mjs/control/Spec.mjs.map +1 -0
  298. package/_mjs/control/SummaryBuilder.mjs +61 -0
  299. package/_mjs/control/SummaryBuilder.mjs.map +1 -0
  300. package/_mjs/control/Test.mjs +15 -0
  301. package/_mjs/control/Test.mjs.map +1 -0
  302. package/_mjs/control/TestAnnotationRenderer/api.mjs +74 -0
  303. package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -0
  304. package/_mjs/control/TestAnnotationRenderer/definition.mjs +32 -0
  305. package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -0
  306. package/_mjs/control/TestAnnotationRenderer.mjs +4 -0
  307. package/_mjs/control/TestAnnotationRenderer.mjs.map +1 -0
  308. package/_mjs/control/TestAspect/api.mjs +93 -0
  309. package/_mjs/control/TestAspect/api.mjs.map +1 -0
  310. package/_mjs/control/TestAspect/definition.mjs +2 -0
  311. package/_mjs/control/TestAspect/definition.mjs.map +1 -0
  312. package/_mjs/control/TestAspect.mjs +4 -0
  313. package/_mjs/control/TestAspect.mjs.map +1 -0
  314. package/_mjs/control/TestClock/api.mjs +45 -0
  315. package/_mjs/control/TestClock/api.mjs.map +1 -0
  316. package/_mjs/control/TestClock/definition.mjs +173 -0
  317. package/_mjs/control/TestClock/definition.mjs.map +1 -0
  318. package/_mjs/control/TestClock.mjs +4 -0
  319. package/_mjs/control/TestClock.mjs.map +1 -0
  320. package/_mjs/control/TestConsole/api.mjs +41 -0
  321. package/_mjs/control/TestConsole/api.mjs.map +1 -0
  322. package/_mjs/control/TestConsole/definition.mjs +73 -0
  323. package/_mjs/control/TestConsole/definition.mjs.map +1 -0
  324. package/_mjs/control/TestConsole.mjs +4 -0
  325. package/_mjs/control/TestConsole.mjs.map +1 -0
  326. package/_mjs/control/TestEnvironment.mjs +17 -0
  327. package/_mjs/control/TestEnvironment.mjs.map +1 -0
  328. package/_mjs/control/TestExecutor.mjs +36 -0
  329. package/_mjs/control/TestExecutor.mjs.map +1 -0
  330. package/_mjs/control/TestLogger.mjs +36 -0
  331. package/_mjs/control/TestLogger.mjs.map +1 -0
  332. package/_mjs/control/TestRandom/api.mjs +87 -0
  333. package/_mjs/control/TestRandom/api.mjs.map +1 -0
  334. package/_mjs/control/TestRandom/definition.mjs +418 -0
  335. package/_mjs/control/TestRandom/definition.mjs.map +1 -0
  336. package/_mjs/control/TestRandom.mjs +4 -0
  337. package/_mjs/control/TestRandom.mjs.map +1 -0
  338. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +88 -0
  339. package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -0
  340. package/_mjs/control/TestRenderer/definition.mjs +2 -0
  341. package/_mjs/control/TestRenderer/definition.mjs.map +1 -0
  342. package/_mjs/control/TestRunner.mjs +23 -0
  343. package/_mjs/control/TestRunner.mjs.map +1 -0
  344. package/_mjs/data/AssertionData.mjs +34 -0
  345. package/_mjs/data/AssertionData.mjs.map +1 -0
  346. package/_mjs/data/AssertionResult.mjs +17 -0
  347. package/_mjs/data/AssertionResult.mjs.map +1 -0
  348. package/_mjs/data/AssertionValue/api.mjs +42 -0
  349. package/_mjs/data/AssertionValue/api.mjs.map +1 -0
  350. package/_mjs/data/AssertionValue/definition.mjs +19 -0
  351. package/_mjs/data/AssertionValue/definition.mjs.map +1 -0
  352. package/_mjs/data/AssertionValue.mjs +4 -0
  353. package/_mjs/data/AssertionValue.mjs.map +1 -0
  354. package/_mjs/data/ExecutedSpec/api.mjs +104 -0
  355. package/_mjs/data/ExecutedSpec/api.mjs.map +1 -0
  356. package/_mjs/data/ExecutedSpec/definition.mjs +40 -0
  357. package/_mjs/data/ExecutedSpec/definition.mjs.map +1 -0
  358. package/_mjs/data/ExecutedSpec.mjs +4 -0
  359. package/_mjs/data/ExecutedSpec.mjs.map +1 -0
  360. package/_mjs/data/ExecutionResult.mjs +110 -0
  361. package/_mjs/data/ExecutionResult.mjs.map +1 -0
  362. package/_mjs/data/FailureDetails.mjs +8 -0
  363. package/_mjs/data/FailureDetails.mjs.map +1 -0
  364. package/_mjs/data/FreeBooleanAlgebra/api.mjs +154 -0
  365. package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -0
  366. package/_mjs/data/FreeBooleanAlgebra/definition.mjs +40 -0
  367. package/_mjs/data/FreeBooleanAlgebra/definition.mjs.map +1 -0
  368. package/_mjs/data/FreeBooleanAlgebra.mjs +4 -0
  369. package/_mjs/data/FreeBooleanAlgebra.mjs.map +1 -0
  370. package/_mjs/data/GenFailureDetails.mjs +9 -0
  371. package/_mjs/data/GenFailureDetails.mjs.map +1 -0
  372. package/_mjs/data/LogLine/Fragment.mjs +65 -0
  373. package/_mjs/data/LogLine/Fragment.mjs.map +1 -0
  374. package/_mjs/data/LogLine/Line.mjs +104 -0
  375. package/_mjs/data/LogLine/Line.mjs.map +1 -0
  376. package/_mjs/data/LogLine/Message.mjs +107 -0
  377. package/_mjs/data/LogLine/Message.mjs.map +1 -0
  378. package/_mjs/data/LogLine/Style.mjs +101 -0
  379. package/_mjs/data/LogLine/Style.mjs.map +1 -0
  380. package/_mjs/data/LogLine/api.mjs +32 -0
  381. package/_mjs/data/LogLine/api.mjs.map +1 -0
  382. package/_mjs/data/LogLine.mjs +3 -0
  383. package/_mjs/data/LogLine.mjs.map +1 -0
  384. package/_mjs/data/Render/api.mjs +16 -0
  385. package/_mjs/data/Render/api.mjs.map +1 -0
  386. package/_mjs/data/Render/definition.mjs +33 -0
  387. package/_mjs/data/Render/definition.mjs.map +1 -0
  388. package/_mjs/data/Render.mjs +4 -0
  389. package/_mjs/data/Render.mjs.map +1 -0
  390. package/_mjs/data/RenderParam/api.mjs +28 -0
  391. package/_mjs/data/RenderParam/api.mjs.map +1 -0
  392. package/_mjs/data/RenderParam/definition.mjs +20 -0
  393. package/_mjs/data/RenderParam/definition.mjs.map +1 -0
  394. package/_mjs/data/RenderParam.mjs +4 -0
  395. package/_mjs/data/RenderParam.mjs.map +1 -0
  396. package/_mjs/data/Summary.mjs +11 -0
  397. package/_mjs/data/Summary.mjs.map +1 -0
  398. package/_mjs/data/TestAnnotation/api.mjs +47 -0
  399. package/_mjs/data/TestAnnotation/api.mjs.map +1 -0
  400. package/_mjs/data/TestAnnotation/definition.mjs +33 -0
  401. package/_mjs/data/TestAnnotation/definition.mjs.map +1 -0
  402. package/_mjs/data/TestAnnotation.mjs +4 -0
  403. package/_mjs/data/TestAnnotation.mjs.map +1 -0
  404. package/_mjs/data/TestAnnotationMap.mjs +33 -0
  405. package/_mjs/data/TestAnnotationMap.mjs.map +1 -0
  406. package/_mjs/data/TestArgs/definition.mjs +9 -0
  407. package/_mjs/data/TestArgs/definition.mjs.map +1 -0
  408. package/_mjs/data/TestArgs.mjs +3 -0
  409. package/_mjs/data/TestArgs.mjs.map +1 -0
  410. package/_mjs/data/TestConfig.mjs +52 -0
  411. package/_mjs/data/TestConfig.mjs.map +1 -0
  412. package/_mjs/data/TestFailure.mjs +49 -0
  413. package/_mjs/data/TestFailure.mjs.map +1 -0
  414. package/_mjs/data/TestSuccess.mjs +31 -0
  415. package/_mjs/data/TestSuccess.mjs.map +1 -0
  416. package/_mjs/data/TestTimeoutException.mjs +7 -0
  417. package/_mjs/data/TestTimeoutException.mjs.map +1 -0
  418. package/_mjs/demo.mjs +33 -0
  419. package/_mjs/demo.mjs.map +1 -0
  420. package/_mjs/util/math.mjs +604 -0
  421. package/_mjs/util/math.mjs.map +1 -0
  422. package/_src/api.ts +76 -0
  423. package/_src/control/AbstractRunnableSpec.ts +23 -0
  424. package/_src/control/Annotations/api.ts +33 -0
  425. package/_src/control/Annotations/definition.ts +20 -0
  426. package/_src/control/Annotations/live.ts +50 -0
  427. package/_src/control/Annotations.ts +5 -0
  428. package/_src/control/Assertion/api.ts +236 -0
  429. package/_src/control/Assertion/definition.ts +20 -0
  430. package/_src/control/Assertion.ts +4 -0
  431. package/_src/control/AssertionIO/api.ts +32 -0
  432. package/_src/control/AssertionIO/definition.ts +26 -0
  433. package/_src/control/AssertionIO.ts +4 -0
  434. package/_src/control/DefaultRunnableSpec.ts +12 -0
  435. package/_src/control/DefaultTestReporter/definition.ts +6 -0
  436. package/_src/control/DefaultTestReporter/render.ts +295 -0
  437. package/_src/control/DefaultTestReporter.ts +4 -0
  438. package/_src/control/FreeBooleanAlgebraIO/api.ts +67 -0
  439. package/_src/control/FreeBooleanAlgebraIO/definition.ts +13 -0
  440. package/_src/control/FreeBooleanAlgebraIO.ts +4 -0
  441. package/_src/control/Gen/api/array.ts +31 -0
  442. package/_src/control/Gen/api/char.ts +83 -0
  443. package/_src/control/Gen/api/conc.ts +50 -0
  444. package/_src/control/Gen/api/double.ts +64 -0
  445. package/_src/control/Gen/api/float.ts +36 -0
  446. package/_src/control/Gen/api/string.ts +71 -0
  447. package/_src/control/Gen/api/struct.ts +21 -0
  448. package/_src/control/Gen/api.ts +276 -0
  449. package/_src/control/Gen/constraints.ts +38 -0
  450. package/_src/control/Gen/definition.ts +9 -0
  451. package/_src/control/Gen.ts +15 -0
  452. package/_src/control/Live/definition.ts +47 -0
  453. package/_src/control/Live.ts +3 -0
  454. package/_src/control/RunnableSpec.ts +42 -0
  455. package/_src/control/Sample/api.ts +287 -0
  456. package/_src/control/Sample/definition.ts +7 -0
  457. package/_src/control/Sample.ts +4 -0
  458. package/_src/control/Sized/api.ts +14 -0
  459. package/_src/control/Sized/definition.ts +13 -0
  460. package/_src/control/Sized/live.ts +19 -0
  461. package/_src/control/Sized.ts +5 -0
  462. package/_src/control/Spec/api.ts +384 -0
  463. package/_src/control/Spec/definition.ts +103 -0
  464. package/_src/control/Spec.ts +4 -0
  465. package/_src/control/SummaryBuilder.ts +68 -0
  466. package/_src/control/Test.ts +31 -0
  467. package/_src/control/TestAnnotationRenderer/api.ts +75 -0
  468. package/_src/control/TestAnnotationRenderer/definition.ts +49 -0
  469. package/_src/control/TestAnnotationRenderer.ts +4 -0
  470. package/_src/control/TestAspect/api.ts +122 -0
  471. package/_src/control/TestAspect/definition.ts +3 -0
  472. package/_src/control/TestAspect.ts +4 -0
  473. package/_src/control/TestClock/api.ts +36 -0
  474. package/_src/control/TestClock/definition.ts +196 -0
  475. package/_src/control/TestClock.ts +4 -0
  476. package/_src/control/TestConsole/api.ts +36 -0
  477. package/_src/control/TestConsole/definition.ts +61 -0
  478. package/_src/control/TestConsole.ts +4 -0
  479. package/_src/control/TestEnvironment.ts +30 -0
  480. package/_src/control/TestExecutor.ts +54 -0
  481. package/_src/control/TestLogger.ts +37 -0
  482. package/_src/control/TestRandom/api.ts +76 -0
  483. package/_src/control/TestRandom/definition.ts +362 -0
  484. package/_src/control/TestRandom.ts +4 -0
  485. package/_src/control/TestRenderer/ConsoleRenderer.ts +94 -0
  486. package/_src/control/TestRenderer/definition.ts +7 -0
  487. package/_src/control/TestRunner.ts +34 -0
  488. package/_src/data/AssertionData.ts +33 -0
  489. package/_src/data/AssertionResult.ts +31 -0
  490. package/_src/data/AssertionValue/api.ts +48 -0
  491. package/_src/data/AssertionValue/definition.ts +20 -0
  492. package/_src/data/AssertionValue.ts +4 -0
  493. package/_src/data/ExecutedSpec/api.ts +96 -0
  494. package/_src/data/ExecutedSpec/definition.ts +37 -0
  495. package/_src/data/ExecutedSpec.ts +4 -0
  496. package/_src/data/ExecutionResult.ts +153 -0
  497. package/_src/data/FailureDetails.ts +13 -0
  498. package/_src/data/FreeBooleanAlgebra/api.ts +152 -0
  499. package/_src/data/FreeBooleanAlgebra/definition.ts +38 -0
  500. package/_src/data/FreeBooleanAlgebra.ts +4 -0
  501. package/_src/data/GenFailureDetails.ts +3 -0
  502. package/_src/data/LogLine/Fragment.ts +59 -0
  503. package/_src/data/LogLine/Line.ts +91 -0
  504. package/_src/data/LogLine/Message.ts +94 -0
  505. package/_src/data/LogLine/Style.ts +150 -0
  506. package/_src/data/LogLine/api.ts +40 -0
  507. package/_src/data/LogLine.ts +2 -0
  508. package/_src/data/Render/api.ts +18 -0
  509. package/_src/data/Render/definition.ts +36 -0
  510. package/_src/data/Render.ts +4 -0
  511. package/_src/data/RenderParam/api.ts +31 -0
  512. package/_src/data/RenderParam/definition.ts +28 -0
  513. package/_src/data/RenderParam.ts +4 -0
  514. package/_src/data/Summary.ts +4 -0
  515. package/_src/data/TestAnnotation/api.ts +49 -0
  516. package/_src/data/TestAnnotation/definition.ts +37 -0
  517. package/_src/data/TestAnnotation.ts +4 -0
  518. package/_src/data/TestAnnotationMap.ts +41 -0
  519. package/_src/data/TestArgs/definition.ts +7 -0
  520. package/_src/data/TestArgs.ts +3 -0
  521. package/_src/data/TestConfig.ts +47 -0
  522. package/_src/data/TestFailure.ts +56 -0
  523. package/_src/data/TestSuccess.ts +39 -0
  524. package/_src/data/TestTimeoutException.ts +5 -0
  525. package/_src/demo.ts +16 -0
  526. package/_src/util/math.ts +497 -0
  527. package/api.d.ts +21 -0
  528. package/control/AbstractRunnableSpec.d.ts +15 -0
  529. package/control/Annotations/api.d.ts +26 -0
  530. package/control/Annotations/definition.d.ts +20 -0
  531. package/control/Annotations/live.d.ts +18 -0
  532. package/control/Annotations.d.ts +3 -0
  533. package/control/Assertion/api.d.ts +81 -0
  534. package/control/Assertion/definition.d.ts +17 -0
  535. package/control/Assertion.d.ts +2 -0
  536. package/control/AssertionIO/api.d.ts +18 -0
  537. package/control/AssertionIO/definition.d.ts +18 -0
  538. package/control/AssertionIO.d.ts +2 -0
  539. package/control/DefaultRunnableSpec.d.ts +7 -0
  540. package/control/DefaultTestReporter/definition.d.ts +6 -0
  541. package/control/DefaultTestReporter/render.d.ts +23 -0
  542. package/control/DefaultTestReporter.d.ts +2 -0
  543. package/control/FreeBooleanAlgebraIO/api.d.ts +44 -0
  544. package/control/FreeBooleanAlgebraIO/definition.d.ts +12 -0
  545. package/control/FreeBooleanAlgebraIO.d.ts +2 -0
  546. package/control/Gen/api/array.d.ts +19 -0
  547. package/control/Gen/api/char.d.ts +47 -0
  548. package/control/Gen/api/conc.d.ts +26 -0
  549. package/control/Gen/api/double.d.ts +13 -0
  550. package/control/Gen/api/float.d.ts +7 -0
  551. package/control/Gen/api/string.d.ts +49 -0
  552. package/control/Gen/api/struct.d.ts +8 -0
  553. package/control/Gen/api.d.ts +169 -0
  554. package/control/Gen/constraints.d.ts +32 -0
  555. package/control/Gen/definition.d.ts +11 -0
  556. package/control/Gen.d.ts +10 -0
  557. package/control/Live/definition.d.ts +24 -0
  558. package/control/Live.d.ts +1 -0
  559. package/control/RunnableSpec.d.ts +12 -0
  560. package/control/Sample/api.d.ts +79 -0
  561. package/control/Sample/definition.d.ts +11 -0
  562. package/control/Sample.d.ts +2 -0
  563. package/control/Sized/api.d.ts +13 -0
  564. package/control/Sized/definition.d.ts +14 -0
  565. package/control/Sized/live.d.ts +9 -0
  566. package/control/Sized.d.ts +3 -0
  567. package/control/Spec/api.d.ts +159 -0
  568. package/control/Spec/definition.d.ts +96 -0
  569. package/control/Spec.d.ts +2 -0
  570. package/control/SummaryBuilder.d.ts +15 -0
  571. package/control/Test.d.ts +20 -0
  572. package/control/TestAnnotationRenderer/api.d.ts +42 -0
  573. package/control/TestAnnotationRenderer/definition.d.ts +31 -0
  574. package/control/TestAnnotationRenderer.d.ts +2 -0
  575. package/control/TestAspect/api.d.ts +23 -0
  576. package/control/TestAspect/definition.d.ts +2 -0
  577. package/control/TestAspect.d.ts +2 -0
  578. package/control/TestClock/api.d.ts +21 -0
  579. package/control/TestClock/definition.d.ts +66 -0
  580. package/control/TestClock.d.ts +2 -0
  581. package/control/TestConsole/api.d.ts +15 -0
  582. package/control/TestConsole/definition.d.ts +39 -0
  583. package/control/TestConsole.d.ts +2 -0
  584. package/control/TestEnvironment.d.ts +16 -0
  585. package/control/TestExecutor.d.ts +13 -0
  586. package/control/TestLogger.d.ts +25 -0
  587. package/control/TestRandom/api.d.ts +49 -0
  588. package/control/TestRandom/definition.d.ts +91 -0
  589. package/control/TestRandom.d.ts +2 -0
  590. package/control/TestRenderer/ConsoleRenderer.d.ts +15 -0
  591. package/control/TestRenderer/definition.d.ts +4 -0
  592. package/control/TestRunner.d.ts +18 -0
  593. package/data/AssertionData.d.ts +24 -0
  594. package/data/AssertionResult.d.ts +23 -0
  595. package/data/AssertionValue/api.d.ts +27 -0
  596. package/data/AssertionValue/definition.d.ts +19 -0
  597. package/data/AssertionValue.d.ts +2 -0
  598. package/data/ExecutedSpec/api.d.ts +47 -0
  599. package/data/ExecutedSpec/definition.d.ts +39 -0
  600. package/data/ExecutedSpec.d.ts +2 -0
  601. package/data/ExecutionResult.d.ts +59 -0
  602. package/data/FailureDetails.d.ts +15 -0
  603. package/data/FreeBooleanAlgebra/api.d.ts +81 -0
  604. package/data/FreeBooleanAlgebra/definition.d.ts +38 -0
  605. package/data/FreeBooleanAlgebra.d.ts +2 -0
  606. package/data/GenFailureDetails.d.ts +6 -0
  607. package/data/LogLine/Fragment.d.ts +46 -0
  608. package/data/LogLine/Line.d.ts +62 -0
  609. package/data/LogLine/Message.d.ts +61 -0
  610. package/data/LogLine/Style.d.ts +107 -0
  611. package/data/LogLine/api.d.ts +11 -0
  612. package/data/LogLine.d.ts +2 -0
  613. package/data/Render/api.d.ts +13 -0
  614. package/data/Render/definition.d.ts +31 -0
  615. package/data/Render.d.ts +2 -0
  616. package/data/RenderParam/api.d.ts +13 -0
  617. package/data/RenderParam/definition.d.ts +25 -0
  618. package/data/RenderParam.d.ts +2 -0
  619. package/data/Summary.d.ts +8 -0
  620. package/data/TestAnnotation/api.d.ts +41 -0
  621. package/data/TestAnnotation/definition.d.ts +20 -0
  622. package/data/TestAnnotation.d.ts +2 -0
  623. package/data/TestAnnotationMap.d.ts +12 -0
  624. package/data/TestArgs/definition.d.ts +7 -0
  625. package/data/TestArgs.d.ts +1 -0
  626. package/data/TestConfig.d.ts +42 -0
  627. package/data/TestFailure.d.ts +46 -0
  628. package/data/TestSuccess.d.ts +33 -0
  629. package/data/TestTimeoutException.d.ts +3 -0
  630. package/demo.d.ts +1 -0
  631. package/package.json +18 -0
  632. 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,2 @@
1
+ export * from "./LogLine/api.js";
2
+ export * from "./LogLine/Style.js";
@@ -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,4 @@
1
+ // codegen:start { preset: barrel, include: ./Render/*.ts }
2
+ export * from "./Render/api.js";
3
+ export * from "./Render/definition.js";
4
+ // codegen:end
@@ -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,4 @@
1
+ // codegen:start { preset: barrel, include: ./RenderParam/*.ts }
2
+ export * from "./RenderParam/api.js";
3
+ export * from "./RenderParam/definition.js";
4
+ // codegen:end
@@ -0,0 +1,4 @@
1
+ export class Summary {
2
+ constructor(readonly success: number, readonly fail: number, readonly ignore: number, readonly summary: string) {}
3
+ total = this.success + this.fail + this.ignore;
4
+ }
@@ -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,4 @@
1
+ // codegen:start { preset: barrel, include: ./TestAnnotation/*.ts }
2
+ export * from "./TestAnnotation/api.js";
3
+ export * from "./TestAnnotation/definition.js";
4
+ // codegen:end
@@ -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
+ }
@@ -0,0 +1,7 @@
1
+ export class TestArgs {
2
+ constructor(
3
+ readonly testSearchTerms: ReadonlyArray<string>,
4
+ readonly tagSearchTerms: ReadonlyArray<string>,
5
+ readonly testTaskPolicy: Maybe<string>,
6
+ ) {}
7
+ }
@@ -0,0 +1,3 @@
1
+ // codegen:start { preset: barrel, include: ./TestArgs/*.ts }
2
+ export * from "./TestArgs/definition.js";
3
+ // codegen:end