diff options
author | Eduardo Julian | 2019-03-24 19:24:52 -0400 |
---|---|---|
committer | Eduardo Julian | 2019-03-24 19:24:52 -0400 |
commit | e9add32589541394a20771fac0d7338db09b5f2e (patch) | |
tree | 8b2d9d4bd07b28cf9cbfc27aef34a5876018023e /stdlib/source/test/lux/data/format/json.lux | |
parent | f6ecfd99a004ae663916fa28532206c16fac835e (diff) |
Ported tests for macro-related modules.
Diffstat (limited to 'stdlib/source/test/lux/data/format/json.lux')
-rw-r--r-- | stdlib/source/test/lux/data/format/json.lux | 65 |
1 files changed, 1 insertions, 64 deletions
diff --git a/stdlib/source/test/lux/data/format/json.lux b/stdlib/source/test/lux/data/format/json.lux index 11bed07da..a170d3163 100644 --- a/stdlib/source/test/lux/data/format/json.lux +++ b/stdlib/source/test/lux/data/format/json.lux @@ -60,73 +60,10 @@ (r.dictionary text.hash size (r.unicode size) json) ))))) -(type: Variant - (#Bit Bit) - (#Text Text) - (#Frac Frac)) - -(type: #rec Recursive - (#Number Frac) - (#Addition Frac Recursive)) - -(type: Record - {#bit Bit - #frac Frac - #text Text - #maybe (Maybe Frac) - #list (List Frac) - #dictionary (d.Dictionary Text Frac) - #variant Variant - #tuple [Bit Frac Text] - #recursive Recursive - ## #instant ti.Instant - ## #duration tdu.Duration - #date tda.Date - #grams (unit.Qty unit.Gram) - }) - -(def: gen-recursive - (Random Recursive) - (r.rec (function (_ gen-recursive) - (r.or r.frac - (r.and r.frac gen-recursive))))) - -(derived: recursive-equivalence (poly/equivalence.equivalence Recursive)) - -(def: qty - (All [unit] (Random (unit.Qty unit))) - (|> r.int (:: r.monad map unit.in))) - -(def: gen-record - (Random Record) - (do r.monad - [size (:: @ map (n/% 2) r.nat)] - ($_ r.and - r.bit - r.frac - (r.unicode size) - (r.maybe r.frac) - (r.list size r.frac) - (r.dictionary text.hash size (r.unicode size) r.frac) - ($_ r.or r.bit (r.unicode size) r.frac) - ($_ r.and r.bit r.frac (r.unicode size)) - gen-recursive - ## _instant.instant - ## _duration.duration - _date.date - qty - ))) - -(derived: equivalence (poly/equivalence.equivalence Record)) -(derived: codec (poly/json.codec Record)) - (def: #export test Test - (<| (_.context (%name (name-of /.JSON))) + (<| (_.context (%name (name-of /._))) ($_ _.and ($equivalence.spec /.equivalence ..json) ($codec.spec /.equivalence /.codec ..json) - (<| (_.context "Polytypism.") - (<| (_.seed 14562075782602945288) - ($codec.spec ..equivalence ..codec gen-record))) ))) |