... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. ... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. (.require [library [lux (.except) [abstract [monad (.only do)] ["[0]" equivalence ["[1]T" \\test]]] [control ["[0]" try (.use "[1]#[0]" functor)]] [data [format ["[0]" xml ["<[1]>" \\parser]]]] [math ["[0]" random (.only Random)]] [test ["_" property (.only Test)]]]] [\\program ["[0]" /]] ["$[0]" // ["[1][0]" time] ["[1][0]" snapshot (.only) ["[1]/[0]" version]]]) (def .public random (Random /.Versioning) (all random.and $//snapshot.random $//time.random (random.list 5 $//snapshot/version.random) )) (def .public test Test (<| (_.covering /._) (_.for [/.Versioning /.#snapshot /.#last_updated /.#versions]) (all _.and (_.for [/.equivalence] (equivalenceT.spec /.equivalence ..random)) (do random.monad [expected ..random] (_.coverage [/.format /.parser] (|> expected /.format list (.result /.parser) (try#each (of /.equivalence = expected)) (try.else false)))) (_.coverage [/.init] (|> /.init /.format list (.result /.parser) (try#each (of /.equivalence = /.init)) (try.else false))) )))