aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/aedifex/dependency
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/test/aedifex/dependency')
-rw-r--r--stdlib/source/test/aedifex/dependency/status.lux34
1 files changed, 34 insertions, 0 deletions
diff --git a/stdlib/source/test/aedifex/dependency/status.lux b/stdlib/source/test/aedifex/dependency/status.lux
new file mode 100644
index 000000000..90cc547fa
--- /dev/null
+++ b/stdlib/source/test/aedifex/dependency/status.lux
@@ -0,0 +1,34 @@
+(.module:
+ [lux #*
+ ["_" test (#+ Test)]
+ [abstract
+ {[0 #spec]
+ [/
+ ["$." equivalence]]}]
+ [math
+ ["." random (#+ Random) ("#\." monad)]]]
+ ["$." /// #_
+ ["#." hash]]
+ {#program
+ ["." /
+ ["//#" /// #_
+ ["#." hash]]]})
+
+(def: #export random
+ (Random /.Status)
+ ($_ random.or
+ (random\wrap [])
+ (random.or ($///hash.random ///hash.sha-1)
+ ($///hash.random ///hash.md5))
+ (random.and ($///hash.random ///hash.sha-1)
+ ($///hash.random ///hash.md5))
+ ))
+
+(def: #export test
+ Test
+ (<| (_.covering /._)
+ (_.for [/.Status]
+ ($_ _.and
+ (_.for [/.equivalence]
+ ($equivalence.spec /.equivalence ..random))
+ ))))