(.using [library [lux (.except) ["_" test (.only Test)] [abstract [monad (.only do)]] [data ["[0]" bit (.open: "[1]#[0]" equivalence)] ["[0]" text (.open: "[1]#[0]" equivalence) ["%" \\format (.only format)]]] [math ["[0]" random (.only Random)] [number ["n" nat]]]]] [\\library ["[0]" /]]) (def .public random (Random /.Version) random.nat) (def .public test Test (<| (_.covering /._) (_.for [/.Version]) (do [! random.monad] [this ..random that ..random] (`` (all _.and (_.coverage [/.format] (bit#= (n.= this that) (text#= (/.format this) (/.format that)))) (~~ (with_template [] [(_.coverage [] (text.contains? (%.nat ( this)) (/.format this)))] [/.patch] [/.minor] [/.major])) )))))