(.module: [lux #* ["_" test (#+ Test)] [abstract [monad (#+ do)]] [data ["." text ("#\." equivalence)] [number ["n" nat]] [collection ["." set] ["." list]]] [math ["." random (#+ Random)]]] {#program ["." / ["/#" // #_ ["#" type]]]}) (def: #export test Test (<| (_.covering /._) (_.for [/.Extension] ($_ _.and (_.cover [/.lux-library /.jvm-library /.pom /.sha-1 /.md5] (let [options (list /.lux-library /.jvm-library /.pom /.sha-1 /.md5) uniques (set.from-list text.hash options)] (n.= (list.size options) (set.size uniques)))) (_.cover [/.extension] (`` (and (~~ (template [ ] [(text\= (/.extension ))] [//.lux-library /.lux-library] [//.jvm-library /.jvm-library] [//.pom /.pom] ))))) ))))