(.module: [lux #* ["_" test (#+ Test)] [abstract [monad (#+ do)]] [control [concurrency [promise (#+ Promise)]]] [data ["." text]] [math ["." random (#+ Random)]] [world ["." file]]] [// ["@." artifact]] {#program ["." / ["/#" // #_ ["#." artifact]]]}) (def: #export test Test (<| (_.covering /._) (do {@ random.monad} [sample @artifact.random #let [fs (: (file.System Promise) (file.mock (:: file.default separator)))]] ($_ _.and (_.cover [/.repository /.path] (let [path (/.path fs sample)] (and (text.starts-with? (/.repository fs) path) (text.ends-with? (//artifact.path fs sample) path)))) ))))