diff options
author | Eduardo Julian | 2020-04-20 23:56:15 -0400 |
---|---|---|
committer | Eduardo Julian | 2020-04-20 23:56:15 -0400 |
commit | f6a2fe158979230dcf2d271981ff34be39c7bffc (patch) | |
tree | 44e965c67bdf2b1bb9946fc3adcc123357c7b85f /stdlib/source/test/lux/abstract/apply.lux | |
parent | 4428345ab84ed065193b8186e86474f496975569 (diff) |
Added some testing machinery to measure the code coverage of tests.
Diffstat (limited to 'stdlib/source/test/lux/abstract/apply.lux')
-rw-r--r-- | stdlib/source/test/lux/abstract/apply.lux | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/stdlib/source/test/lux/abstract/apply.lux b/stdlib/source/test/lux/abstract/apply.lux index 87c706f55..c53283233 100644 --- a/stdlib/source/test/lux/abstract/apply.lux +++ b/stdlib/source/test/lux/abstract/apply.lux @@ -3,72 +3,71 @@ [abstract/monad (#+ do)] [data [number - ["n" nat]] - [text - ["%" format (#+ format)]]] + ["n" nat]]] [control ["." function]] [math - ["r" random]] + ["." random]] ["_" test (#+ Test)]] {1 ["." / (#+ Apply)]} [// [functor (#+ Injection Comparison)]]) -(def: (identity injection comparison (^open "_;.")) +(def: (identity injection comparison (^open "_@.")) (All [f] (-> (Injection f) (Comparison f) (Apply f) Test)) - (do r.monad - [sample (:: @ map injection r.nat)] + (do random.monad + [sample (:: @ map injection random.nat)] (_.test "Identity." ((comparison n.=) - (_;apply (injection function.identity) sample) + (_@apply (injection function.identity) sample) sample)))) -(def: (homomorphism injection comparison (^open "_;.")) +(def: (homomorphism injection comparison (^open "_@.")) (All [f] (-> (Injection f) (Comparison f) (Apply f) Test)) - (do r.monad - [sample r.nat - increase (:: @ map n.+ r.nat)] + (do random.monad + [sample random.nat + increase (:: @ map n.+ random.nat)] (_.test "Homomorphism." ((comparison n.=) - (_;apply (injection increase) (injection sample)) + (_@apply (injection increase) (injection sample)) (injection (increase sample)))))) -(def: (interchange injection comparison (^open "_;.")) +(def: (interchange injection comparison (^open "_@.")) (All [f] (-> (Injection f) (Comparison f) (Apply f) Test)) - (do r.monad - [sample r.nat - increase (:: @ map n.+ r.nat)] + (do random.monad + [sample random.nat + increase (:: @ map n.+ random.nat)] (_.test "Interchange." ((comparison n.=) - (_;apply (injection increase) (injection sample)) - (_;apply (injection (function (_ f) (f sample))) (injection increase)))))) + (_@apply (injection increase) (injection sample)) + (_@apply (injection (function (_ f) (f sample))) (injection increase)))))) -(def: (composition injection comparison (^open "_;.")) +(def: (composition injection comparison (^open "_@.")) (All [f] (-> (Injection f) (Comparison f) (Apply f) Test)) - (do r.monad - [sample r.nat - increase (:: @ map n.+ r.nat) - decrease (:: @ map n.- r.nat)] + (do random.monad + [sample random.nat + increase (:: @ map n.+ random.nat) + decrease (:: @ map n.- random.nat)] (_.test "Composition." ((comparison n.=) - (_$ _;apply + (_$ _@apply (injection function.compose) (injection increase) (injection decrease) (injection sample)) - ($_ _;apply + ($_ _@apply (injection increase) (injection decrease) (injection sample)))))) (def: #export (spec injection comparison apply) (All [f] (-> (Injection f) (Comparison f) (Apply f) Test)) - (_.context (%.name (name-of /.Apply)) - ($_ _.and - (..identity injection comparison apply) - (..homomorphism injection comparison apply) - (..interchange injection comparison apply) - (..composition injection comparison apply) - ))) + (<| (_.covering /._) + (_.with-cover [/.Apply] + ($_ _.and + (..identity injection comparison apply) + (..homomorphism injection comparison apply) + (..interchange injection comparison apply) + (..composition injection comparison apply) + )))) |