... 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)]] [control ["[0]" io]] [math ["[0]" random]] [test ["_" property (.only Test)]]]] [\\library ["[0]" /]] ["$[0]" / ["[1][0]" export]]) (/.import (os/getenv [/.String] "io" "?" /.String)) (def .public test Test (do [! random.monad] [boolean random.bit integer random.int float random.frac string (random.lower_cased 1)] (<| (_.covering /._) (`` (all _.and (,, (with_template [ ] [(_.coverage [] (exec (is ) true))] [/.Boolean boolean] [/.Integer integer] [/.Float float] [/.String string] )) (_.for [/.Object] (all _.and (,, (with_template [] [(_.coverage [] (exec (|> [] (as ) (is (Ex (_ a) (/.Object a)))) true))] [/.Nil] [/.Table] )))) (_.coverage [/.Function /.function] (exec (|> (/.function (_ [input/0 Nat]) Int (.int input/0)) (is /.Function) (is (Ex (_ a) (/.Object a)))) true)) (_.coverage [/.import] (when (io.run! (..os/getenv string)) {.#Some _} true {.#None} true)) $/export.test )))))