aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/meta.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/test/lux/meta.lux276
1 files changed, 143 insertions, 133 deletions
diff --git a/stdlib/source/test/lux/meta.lux b/stdlib/source/test/lux/meta.lux
index bb5da38b8..03ac91796 100644
--- a/stdlib/source/test/lux/meta.lux
+++ b/stdlib/source/test/lux/meta.lux
@@ -802,144 +802,154 @@
(try.else false))))
)))
-... (def label_related
-... Test
-... (do [! random.monad]
-... [current_module (random.upper_cased 1)
-... label_module (random.only (|>> (text#= current_module) not)
-... (random.upper_cased 1))
+(def label_related
+ Test
+ (do [! random.monad]
+ [current_module (random.upper_cased 1)
+ label_module (random.upper_cased 2)
-... name_0 (random.upper_cased 1)
-... name_1 (random.only (|>> (text#= name_0) not)
-... (random.upper_cased 1))
+ name_0 (random.upper_cased 3)
+ ... name_1 (random.upper_cased 4)
-... .let [random_tag (of ! each (|>> [label_module])
-... (random.upper_cased 1))
-... random_labels (is (Random [Text (List Text)])
-... (do !
-... [head (random.lower_cased 5)]
-... (|> (random.lower_cased 5)
-... (random.only (|>> (text#= head) not))
-... (random.set text.hash 3)
-... (of ! each set.list)
-... (random.and (in head)))))]
-... tags_0 random_labels
-... tags_1 (let [set/0 (set.of_list text.hash {.#Item tags_0})]
-... (random.only (|>> {.#Item}
-... (list.any? (set.member? set/0))
-... not)
-... random_labels))
-... .let [type_0 {.#Nominal name_0 (list)}
-... type_1 {.#Nominal name_1 (list)}
+ .let [random_tag (of ! each (|>> [label_module])
+ (random.upper_cased 1))
+ random_labels (is (-> Nat
+ (Random [Text (List Text)]))
+ (function (_ size)
+ (do !
+ [head (random.lower_cased size)]
+ (|> (random.lower_cased size)
+ (random.only (|>> (text#= head) not))
+ (random.set text.hash 3)
+ (of ! each set.list)
+ (random.and (in head))))))]
+ tags_0 (random_labels 5)
+ ... tags_1 (let [set/0 (set.of_list text.hash {.#Item tags_0})]
+ ... (random.only (|>> {.#Item}
+ ... (list.any? (set.member? set/0))
+ ... not)
+ ... random_labels))
+ .let [type_0 {.#Nominal name_0 (list)}
+ ... type_1 {.#Nominal name_1 (list)}
-... expected_lux
-... (is Lux
-... [.#info [.#target ""
-... .#version ""
-... .#mode {.#Build}
-... .#configuration (list)]
-... .#source [location.dummy 0 ""]
-... .#location location.dummy
-... .#current_module {.#Some current_module}
-... .#modules (list [current_module
-... [.#module_hash 0
-... .#module_aliases (list)
-... .#definitions (list)
-... .#imports (list label_module)
-... .#module_state {.#Active}]]
-... [label_module
-... [.#module_hash 0
-... .#module_aliases (list)
-... .#definitions (list.partial [name_0 {.#Type [true type_0 {.#Left tags_0}]}]
-... [name_1 {.#Type [true type_1 {.#Right tags_1}]}]
-... (all list#composite
-... (|> {.#Item tags_0}
-... list.enumeration
-... (list#each (function (_ [index short])
-... [short {.#Tag [true type_0 {.#Item tags_0} index]}])))
-... (|> {.#Item tags_1}
-... list.enumeration
-... (list#each (function (_ [index short])
-... [short {.#Slot [true type_1 {.#Item tags_1} index]}])))))
-... .#imports (list)
-... .#module_state {.#Active}]])
-... .#scopes (list)
-... .#type_context [.#ex_counter 0
-... .#var_counter 0
-... .#var_bindings (list)]
-... .#expected {.#None}
-... .#seed 0
-... .#scope_type_vars (list)
-... .#extensions []
-... .#eval (as (-> Type Code (Meta Any)) [])
-... .#host []])]]
-... (all _.and
-... (_.coverage [/.tag_lists]
-... (let [equivalence (list.equivalence
-... (product.equivalence
-... (list.equivalence symbol.equivalence)
-... type.equivalence))]
-... (|> (/.tag_lists label_module)
-... (/.result expected_lux)
-... (try#each (of equivalence = (list [(list#each (|>> [label_module]) {.#Item tags_0})
-... type_0]
-... [(list#each (|>> [label_module]) {.#Item tags_1})
-... type_1])))
-... (try.else false))))
-... (_.coverage [/.tags_of]
-... (|> (/.tags_of [label_module name_1])
-... (/.result expected_lux)
-... (try#each (of (maybe.equivalence (list.equivalence symbol.equivalence)) = {.#Some (list#each (|>> [label_module]) {.#Item tags_1})}))
-... (try.else false)))
-... ... (_.coverage [/.tag]
-... ... (|> {.#Item tags_0}
-... ... list.enumeration
-... ... (list.every? (function (_ [expected_index label])
-... ... (|> [label_module label]
-... ... /.tag
-... ... (/.result expected_lux)
-... ... (!expect (^.multi {try.#Success [actual_index actual_tags actual_type]}
-... ... (let [correct_index!
-... ... (n.= expected_index
-... ... actual_index)
+ expected_lux
+ (is Lux
+ [.#info [.#target ""
+ .#version ""
+ .#mode {.#Build}
+ .#configuration (list)]
+ .#source [location.dummy 0 ""]
+ .#location location.dummy
+ .#current_module {.#Some current_module}
+ .#modules (list [current_module
+ [.#module_hash 0
+ .#module_aliases (list)
+ .#definitions (list)
+ .#imports (list label_module)
+ .#module_state {.#Active}]]
+ [label_module
+ [.#module_hash 0
+ .#module_aliases (list)
+ .#definitions (list.partial [name_0 [true {.#Definition [.Type type_0]}]]
+ ... [name_1 {.#Type [true type_1 {.#Right tags_1}]}]
+ (all list#composite
+ (let [cohort (is (List Symbol)
+ (list#each (|>> [label_module])
+ {.#Item tags_0}))
+ last (-- (list.size cohort))
+ right? (n.= last)]
+ (|> {.#Item tags_0}
+ list.enumeration
+ (list#each (function (_ [index short])
+ [short [true {.#Definition [.Tag
+ (|> [{.#Some [index (right? index) cohort]} type_0]
+ (is Label)
+ (as Tag))]}]]))))
+ ... (|> {.#Item tags_1}
+ ... list.enumeration
+ ... (list#each (function (_ [index short])
+ ... [short {.#Slot [true type_1 {.#Item tags_1} index]}])))
+ ))
+ .#imports (list)
+ .#module_state {.#Active}]])
+ .#scopes (list)
+ .#type_context [.#ex_counter 0
+ .#var_counter 0
+ .#var_bindings (list)]
+ .#expected {.#None}
+ .#seed 0
+ .#scope_type_vars (list)
+ .#extensions []
+ .#eval (as (-> Type Code (Meta Any)) [])
+ .#host []])]]
+ (all _.and
+ (_.coverage [/.tag_lists]
+ (let [equivalence (list.equivalence
+ (product.equivalence
+ (list.equivalence symbol.equivalence)
+ type.equivalence))]
+ (|> (/.tag_lists label_module)
+ (/.result expected_lux)
+ (try#each (of equivalence = (list [(list#each (|>> [label_module]) {.#Item tags_0})
+ type_0]
+ ... [(list#each (|>> [label_module]) {.#Item tags_1})
+ ... type_1]
+ )))
+ (try.else false))))
+ ... (_.coverage [/.tags_of]
+ ... (|> (/.tags_of [label_module name_1])
+ ... (/.result expected_lux)
+ ... (try#each (of (maybe.equivalence (list.equivalence symbol.equivalence)) = {.#Some (list#each (|>> [label_module]) {.#Item tags_1})}))
+ ... (try.else false)))
+ ... (_.coverage [/.tag]
+ ... (|> {.#Item tags_0}
+ ... list.enumeration
+ ... (list.every? (function (_ [expected_index label])
+ ... (|> [label_module label]
+ ... /.tag
+ ... (/.result expected_lux)
+ ... (!expect (^.multi {try.#Success [actual_index actual_tags actual_type]}
+ ... (let [correct_index!
+ ... (n.= expected_index
+ ... actual_index)
-... ... correct_tags!
-... ... (of (list.equivalence symbol.equivalence) =
-... ... (list#each (|>> [label_module]) {.#Item tags_0})
-... ... actual_tags)
+ ... correct_tags!
+ ... (of (list.equivalence symbol.equivalence) =
+ ... (list#each (|>> [label_module]) {.#Item tags_0})
+ ... actual_tags)
-... ... correct_type!
-... ... (type#= type_0
-... ... actual_type)]
-... ... (and correct_index!
-... ... correct_tags!
-... ... correct_type!))))
-... ... )))))
-... ... (_.coverage [/.slot]
-... ... (|> {.#Item tags_1}
-... ... list.enumeration
-... ... (list.every? (function (_ [expected_index label])
-... ... (|> [label_module label]
-... ... /.slot
-... ... (/.result expected_lux)
-... ... (!expect (^.multi {try.#Success [actual_index actual_tags actual_type]}
-... ... (let [correct_index!
-... ... (n.= expected_index
-... ... actual_index)
+ ... correct_type!
+ ... (type#= type_0
+ ... actual_type)]
+ ... (and correct_index!
+ ... correct_tags!
+ ... correct_type!))))
+ ... )))))
+ ... (_.coverage [/.slot]
+ ... (|> {.#Item tags_1}
+ ... list.enumeration
+ ... (list.every? (function (_ [expected_index label])
+ ... (|> [label_module label]
+ ... /.slot
+ ... (/.result expected_lux)
+ ... (!expect (^.multi {try.#Success [actual_index actual_tags actual_type]}
+ ... (let [correct_index!
+ ... (n.= expected_index
+ ... actual_index)
-... ... correct_tags!
-... ... (of (list.equivalence symbol.equivalence) =
-... ... (list#each (|>> [label_module]) {.#Item tags_1})
-... ... actual_tags)
+ ... correct_tags!
+ ... (of (list.equivalence symbol.equivalence) =
+ ... (list#each (|>> [label_module]) {.#Item tags_1})
+ ... actual_tags)
-... ... correct_type!
-... ... (type#= type_1
-... ... actual_type)]
-... ... (and correct_index!
-... ... correct_tags!
-... ... correct_type!))))
-... ... )))))
-... )))
+ ... correct_type!
+ ... (type#= type_1
+ ... actual_type)]
+ ... (and correct_index!
+ ... correct_tags!
+ ... correct_type!))))
+ ... )))))
+ )))
(def injection
(Injection Meta)
@@ -1030,8 +1040,8 @@
..definition_related
..search_related
..locals_related
- ... (_.for [.Label]
- ... ..label_related)
+ (_.for [.Label]
+ ..label_related)
))
/code.test