diff options
author | Eduardo Julian | 2020-07-01 22:28:36 -0400 |
---|---|---|
committer | Eduardo Julian | 2020-07-01 22:28:36 -0400 |
commit | 7853d890ac72cd96851caedadd8525404705286c (patch) | |
tree | 7bf7d484b0830a7dec16be914beb5817a89ec072 /stdlib/source/spec/lux/abstract/equivalence.lux | |
parent | 23ad698f1ad87f9e9838c1e7df1809991c6a1d18 (diff) |
Moved all spec(ifications) from under "test/" to under "spec/".
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/spec/lux/abstract/equivalence.lux | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/stdlib/source/spec/lux/abstract/equivalence.lux b/stdlib/source/spec/lux/abstract/equivalence.lux new file mode 100644 index 000000000..b511ba176 --- /dev/null +++ b/stdlib/source/spec/lux/abstract/equivalence.lux @@ -0,0 +1,23 @@ +(.module: + [lux #* + ["_" test (#+ Test)] + [abstract + [monad (#+ do)]] + [math + ["." random (#+ Random)]]] + {1 + ["." / (#+ Equivalence)]}) + +(def: #export (spec (^open "_@.") generator) + (All [a] (-> (Equivalence a) (Random a) Test)) + (do random.monad + [left generator + right generator] + (<| (_.with-cover [/.Equivalence]) + ($_ _.and + (_.test "Reflexivity." + (_@= left left)) + (_.test "Symmetry." + (if (_@= left right) + (_@= right left) + (not (_@= right left)))))))) |