diff options
author | Eduardo Julian | 2021-01-28 20:14:11 -0400 |
---|---|---|
committer | Eduardo Julian | 2021-01-28 20:14:11 -0400 |
commit | 1797521191746640e761cc1b4973d46b8c403dee (patch) | |
tree | 197b60bf206f75c32a930b85910101c6d4c0d0f9 /stdlib/source/test/aedifex/artifact/snapshot | |
parent | 43d28326ad59c74439b96343cc8f619ed7d90231 (diff) |
Implemented arithmetic right-shift in terms of logic right-shift.
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/test/aedifex/artifact/snapshot.lux | 4 | ||||
-rw-r--r-- | stdlib/source/test/aedifex/artifact/snapshot/version.lux | 46 |
2 files changed, 49 insertions, 1 deletions
diff --git a/stdlib/source/test/aedifex/artifact/snapshot.lux b/stdlib/source/test/aedifex/artifact/snapshot.lux index 1bdb9ca2d..371fde55e 100644 --- a/stdlib/source/test/aedifex/artifact/snapshot.lux +++ b/stdlib/source/test/aedifex/artifact/snapshot.lux @@ -15,7 +15,8 @@ ["$." / #_ ["#." build] ["#." time] - ["#." stamp]] + ["#." stamp] + ["#." version]] {#program ["." /]}) @@ -45,4 +46,5 @@ $/build.test $/time.test $/stamp.test + $/version.test )))) diff --git a/stdlib/source/test/aedifex/artifact/snapshot/version.lux b/stdlib/source/test/aedifex/artifact/snapshot/version.lux new file mode 100644 index 000000000..e08691c3c --- /dev/null +++ b/stdlib/source/test/aedifex/artifact/snapshot/version.lux @@ -0,0 +1,46 @@ +(.module: + [lux #* + ["_" test (#+ Test)] + [abstract + [monad (#+ do)] + {[0 #spec] + [/ + ["$." equivalence]]}] + [control + ["." try ("#\." functor)] + [parser + ["<.>" xml]]] + [math + ["." random (#+ Random)]]] + {#program + ["." /]} + ["$." /// #_ + ["#." type] + ["#." time]]) + +(def: #export random + (Random /.Version) + ($_ random.and + $///type.random + (random.ascii/alpha 1) + $///time.random + )) + +(def: #export test + Test + (<| (_.covering /._) + (_.for [/.Version]) + ($_ _.and + (_.for [/.equivalence] + ($equivalence.spec /.equivalence ..random)) + + (do random.monad + [expected ..random] + (_.cover [/.format /.parser] + (|> expected + /.format + list + (<xml>.run /.parser) + (try\map (\ /.equivalence = expected)) + (try.default false)))) + ))) |