(.module: [library [lux "*" ["_" test {"+" [Test]}] [abstract [monad {"+" [do]}]] [data ["." text ("#\." equivalence)]] [math ["." random]]]] ["." / "_" ["#." artifact] ["#." snapshot] [// ["$." artifact]]] [\\program ["." /]]) (def: .public test Test (<| (_.covering /._) ($_ _.and (do random.monad [sample $artifact.random] ($_ _.and (_.cover [/.remote_artifact_uri /.remote_project_uri] (not (text\= (/.remote_artifact_uri sample) (/.remote_project_uri sample)))) (_.cover [/.local_uri] (let [remote_artifact_uri (/.remote_artifact_uri sample) remote_project_uri (/.remote_project_uri sample)] (and (not (text\= remote_artifact_uri (/.local_uri remote_artifact_uri))) (not (text\= remote_project_uri (/.local_uri remote_project_uri)))))) (_.cover [/.remote_uri] (let [remote_artifact_uri (/.remote_artifact_uri sample) remote_project_uri (/.remote_project_uri sample)] (and (text\= remote_artifact_uri (/.remote_uri remote_artifact_uri)) (text\= remote_project_uri (/.remote_uri remote_project_uri)) (|> remote_artifact_uri /.local_uri /.remote_uri (text\= remote_artifact_uri)) (|> remote_project_uri /.local_uri /.remote_uri (text\= remote_project_uri))))) )) /artifact.test /snapshot.test )))