(.require [library [lux (.except) [abstract [monad (.only do)] [\\specification ["$[0]" equivalence]]] [data ["[0]" text]] [math ["[0]" random (.only Random)]] [test ["_" property (.only Test)]]]] [\\library ["[0]" /]] ["$[0]" // ["[1][0]" code]]) (def .public random (Random Location) (all random.and (random.alphabetic 10) random.nat random.nat )) (def .public test Test (<| (_.covering /._) (_.for [.Location]) (all _.and (_.for [/.equivalence] ($equivalence.spec /.equivalence ..random)) (_.coverage [/.here] (not (at /.equivalence = (/.here) (/.here)))) (do random.monad [location ..random error (random.alphabetic 10)] (_.coverage [/.format /.with] (let [located_error (/.with location error)] (and (text.contains? (/.format location) located_error) (text.contains? error located_error))))) (do random.monad [[location _] $//code.random] (_.coverage [/.dummy] (at /.equivalence = /.dummy location))) )))