aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/target/js.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/test/lux/target/js.lux984
1 files changed, 492 insertions, 492 deletions
diff --git a/stdlib/source/test/lux/target/js.lux b/stdlib/source/test/lux/target/js.lux
index 81587cd20..bfdbf32fb 100644
--- a/stdlib/source/test/lux/target/js.lux
+++ b/stdlib/source/test/lux/target/js.lux
@@ -74,26 +74,26 @@
int ..int_32
string (random.upper_case 5)]
(all _.and
- (_.cover [/.null]
- (|> /.null
- ..eval
- (try#each (function (_ it)
- (case it
- {.#None} true
- {.#Some _} false)))
- (try.else false)))
- (_.cover [/.boolean]
- (expression (|>> (as Bit) (bit#= boolean))
- (/.boolean boolean)))
- (_.cover [/.number]
- (expression (|>> (as Frac) (f.= number))
- (/.number number)))
- (_.cover [/.int]
- (expression (|>> (as Frac) f.int (i.= int))
- (/.int int)))
- (_.cover [/.string]
- (expression (|>> (as Text) (text#= string))
- (/.string string)))
+ (_.coverage [/.null]
+ (|> /.null
+ ..eval
+ (try#each (function (_ it)
+ (case it
+ {.#None} true
+ {.#Some _} false)))
+ (try.else false)))
+ (_.coverage [/.boolean]
+ (expression (|>> (as Bit) (bit#= boolean))
+ (/.boolean boolean)))
+ (_.coverage [/.number]
+ (expression (|>> (as Frac) (f.= number))
+ (/.number number)))
+ (_.coverage [/.int]
+ (expression (|>> (as Frac) f.int (i.= int))
+ (/.int int)))
+ (_.coverage [/.string]
+ (expression (|>> (as Text) (text#= string))
+ (/.string string)))
)))
(def: test|boolean
@@ -103,17 +103,17 @@
right random.bit]
(`` (all _.and
(~~ (template [<js> <lux>]
- [(_.cover [<js>]
- (let [expected (<lux> left right)]
- (expression (|>> (as Bit) (bit#= expected))
- (<js> (/.boolean left) (/.boolean right)))))]
+ [(_.coverage [<js>]
+ (let [expected (<lux> left right)]
+ (expression (|>> (as Bit) (bit#= expected))
+ (<js> (/.boolean left) (/.boolean right)))))]
[/.or .or]
[/.and .and]
))
- (_.cover [/.not]
- (expression (|>> (as Bit) (bit#= (not left)))
- (/.not (/.boolean left))))
+ (_.coverage [/.not]
+ (expression (|>> (as Bit) (bit#= (not left)))
+ (/.not (/.boolean left))))
))))
(def: test|number
@@ -124,10 +124,10 @@
subject random.safe_frac]
(`` (all _.and
(~~ (template [<js> <lux>]
- [(_.cover [<js>]
- (let [expected (<lux> parameter subject)]
- (expression (|>> (as Frac) (f.= expected))
- (<js> (/.number parameter) (/.number subject)))))]
+ [(_.coverage [<js>]
+ (let [expected (<lux> parameter subject)]
+ (expression (|>> (as Frac) (f.= expected))
+ (<js> (/.number parameter) (/.number subject)))))]
[/.+ f.+]
[/.- f.-]
@@ -136,10 +136,10 @@
[/.% f.%]
))
(~~ (template [<js> <lux>]
- [(_.cover [<js>]
- (let [expected (<lux> parameter subject)]
- (expression (|>> (as Bit) (bit#= expected))
- (<js> (/.number parameter) (/.number subject)))))]
+ [(_.coverage [<js>]
+ (let [expected (<lux> parameter subject)]
+ (expression (|>> (as Bit) (bit#= expected))
+ (<js> (/.number parameter) (/.number subject)))))]
[/.< f.<]
[/.<= f.<=]
@@ -160,46 +160,46 @@
shift (# ! each (n.% 16) random.nat)]
(`` (all _.and
(~~ (template [<js> <lux>]
- [(_.cover [<js>]
- (let [expected (<lux> left right)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (<js> (/.int left) (/.int right)))))]
+ [(_.coverage [<js>]
+ (let [expected (<lux> left right)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (<js> (/.int left) (/.int right)))))]
[/.bit_or i64.or]
[/.bit_xor i64.xor]
[/.bit_and i64.and]
))
- (_.cover [/.opposite]
- (expression (|>> (as Frac) f.int (i.= (i.* -1 i32)))
- (/.opposite (/.i32 i32))))
-
- (_.cover [/.i32]
- (expression (|>> (as Frac) f.int (i.= i32))
- (/.i32 i32)))
- (_.cover [/.to_i32]
- (expression (|>> (as Frac) f.int (i.= i32))
- (/.to_i32 (/.int i32))))
- (_.cover [/.left_shift]
- (let [expected (i64.left_shifted shift i16)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.left_shift (/.int (.int shift))
+ (_.coverage [/.opposite]
+ (expression (|>> (as Frac) f.int (i.= (i.* -1 i32)))
+ (/.opposite (/.i32 i32))))
+
+ (_.coverage [/.i32]
+ (expression (|>> (as Frac) f.int (i.= i32))
+ (/.i32 i32)))
+ (_.coverage [/.to_i32]
+ (expression (|>> (as Frac) f.int (i.= i32))
+ (/.to_i32 (/.int i32))))
+ (_.coverage [/.left_shift]
+ (let [expected (i64.left_shifted shift i16)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.left_shift (/.int (.int shift))
+ (/.i32 i16)))))
+ (_.coverage [/.logic_right_shift]
+ (let [expected (i64.right_shifted shift (as_int_32 i16))]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.logic_right_shift (/.int (.int shift))
(/.i32 i16)))))
- (_.cover [/.logic_right_shift]
- (let [expected (i64.right_shifted shift (as_int_32 i16))]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.logic_right_shift (/.int (.int shift))
- (/.i32 i16)))))
- (_.cover [/.arithmetic_right_shift]
- (let [expected (i.right_shifted shift i16)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.arithmetic_right_shift (/.int (.int shift))
- (/.i32 i16)))))
- (_.cover [/.bit_not]
- (let [expected (if (i.< +0 i32)
- (as_int_32 (i64.not i32))
- (i64.not (as_int_32 i32)))]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.bit_not (/.i32 i32)))))
+ (_.coverage [/.arithmetic_right_shift]
+ (let [expected (i.right_shifted shift i16)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.arithmetic_right_shift (/.int (.int shift))
+ (/.i32 i16)))))
+ (_.coverage [/.bit_not]
+ (let [expected (if (i.< +0 i32)
+ (as_int_32 (i64.not i32))
+ (i64.not (as_int_32 i32)))]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.bit_not (/.i32 i32)))))
))))
(def: test|array
@@ -212,14 +212,14 @@
(list.item index)
(maybe.else f.not_a_number))]]
(all _.and
- (_.cover [/.array /.at]
- (and (expression (|>> (as Frac) (f.= expected))
- (/.at (/.int (.int index))
- (/.array (list#each /.number items))))
- (expression (|>> (as Bit))
- (|> (/.array (list#each /.number items))
- (/.at (/.int (.int size)))
- (/.= /.undefined)))))
+ (_.coverage [/.array /.at]
+ (and (expression (|>> (as Frac) (f.= expected))
+ (/.at (/.int (.int index))
+ (/.array (list#each /.number items))))
+ (expression (|>> (as Bit))
+ (|> (/.array (list#each /.number items))
+ (/.at (/.int (.int size)))
+ (/.= /.undefined)))))
)))
(def: test|object
@@ -234,21 +234,21 @@
index (# ! each (n.% size) random.nat)
items (random.list size random.safe_frac)]
(all _.and
- (_.cover [/.object /.the]
- (expression (|>> (as Frac) (f.= expected))
- (/.the field (/.object (list [field (/.number expected)])))))
+ (_.coverage [/.object /.the]
+ (expression (|>> (as Frac) (f.= expected))
+ (/.the field (/.object (list [field (/.number expected)])))))
(let [expected (|> items
(list.item index)
(maybe.else f.not_a_number))]
- (_.cover [/.do]
- (expression (|>> (as Frac) f.int (i.= (.int index)))
- (|> (/.array (list#each /.number items))
- (/.do "lastIndexOf" (list (/.number expected)))))))
- (_.cover [/.undefined]
- (expression (|>> (as Bit))
- (|> (/.object (list [field (/.number expected)]))
- (/.the dummy)
- (/.= /.undefined))))
+ (_.coverage [/.do]
+ (expression (|>> (as Frac) f.int (i.= (.int index)))
+ (|> (/.array (list#each /.number items))
+ (/.do "lastIndexOf" (list (/.number expected)))))))
+ (_.coverage [/.undefined]
+ (expression (|>> (as Bit))
+ (|> (/.object (list [field (/.number expected)]))
+ (/.the dummy)
+ (/.= /.undefined))))
)))
(def: test|computation
@@ -269,38 +269,38 @@
..test|i32
..test|array
..test|object
- (_.cover [/.?]
- (let [expected (if test then else)]
- (expression (|>> (as Frac) (f.= expected))
- (/.? (/.boolean test)
- (/.number then)
- (/.number else)))))
- (_.cover [/.not_a_number?]
- (and (expression (|>> (as Bit))
- (/.not_a_number? (/.number f.not_a_number)))
- (expression (|>> (as Bit) not)
- (/.not_a_number? (/.number then)))))
- (_.cover [/.type_of]
- (and (expression (|>> (as Text) (text#= "boolean"))
- (/.type_of (/.boolean boolean)))
- (expression (|>> (as Text) (text#= "number"))
- (/.type_of (/.number number)))
- (expression (|>> (as Text) (text#= "string"))
- (/.type_of (/.string string)))
- (expression (|>> (as Text) (text#= "object"))
- (/.type_of /.null))
- (expression (|>> (as Text) (text#= "object"))
- (/.type_of (/.object (list [string (/.number number)]))))
- (expression (|>> (as Text) (text#= "object"))
- (/.type_of (/.array (list (/.boolean boolean)
- (/.number number)
- (/.string string)))))
- (expression (|>> (as Text) (text#= "undefined"))
- (/.type_of /.undefined))))
- (_.cover [/.comment]
- (expression (|>> (as Frac) (f.= then))
- (/.comment comment
- (/.number then))))
+ (_.coverage [/.?]
+ (let [expected (if test then else)]
+ (expression (|>> (as Frac) (f.= expected))
+ (/.? (/.boolean test)
+ (/.number then)
+ (/.number else)))))
+ (_.coverage [/.not_a_number?]
+ (and (expression (|>> (as Bit))
+ (/.not_a_number? (/.number f.not_a_number)))
+ (expression (|>> (as Bit) not)
+ (/.not_a_number? (/.number then)))))
+ (_.coverage [/.type_of]
+ (and (expression (|>> (as Text) (text#= "boolean"))
+ (/.type_of (/.boolean boolean)))
+ (expression (|>> (as Text) (text#= "number"))
+ (/.type_of (/.number number)))
+ (expression (|>> (as Text) (text#= "string"))
+ (/.type_of (/.string string)))
+ (expression (|>> (as Text) (text#= "object"))
+ (/.type_of /.null))
+ (expression (|>> (as Text) (text#= "object"))
+ (/.type_of (/.object (list [string (/.number number)]))))
+ (expression (|>> (as Text) (text#= "object"))
+ (/.type_of (/.array (list (/.boolean boolean)
+ (/.number number)
+ (/.string string)))))
+ (expression (|>> (as Text) (text#= "undefined"))
+ (/.type_of /.undefined))))
+ (_.coverage [/.comment]
+ (expression (|>> (as Frac) (f.= then))
+ (/.comment comment
+ (/.number then))))
)))
(def: test|expression
@@ -313,9 +313,9 @@
..test|literal)
(_.for [/.Computation]
..test|computation)
- (_.cover [/.,]
- (expression (|>> (as Frac) (f.= expected))
- (/., (/.number dummy) (/.number expected))))
+ (_.coverage [/.,]
+ (expression (|>> (as Frac) (f.= expected))
+ (/., (/.number dummy) (/.number expected))))
))))
(def: test/var
@@ -330,25 +330,25 @@
.let [$foreign (/.var foreign)
$local (/.var local)]]
(all _.and
- (_.cover [/.var]
- (expression (|>> (as Frac) (f.= number/0))
- (/.apply_* (/.closure (list $foreign) (/.return $foreign))
- (list (/.number number/0)))))
- (_.cover [/.define]
- (expression (|>> (as Frac) (f.= number/1))
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.define $local (/.number number/1))
- (/.return $local)))
- (list (/.number number/0)))))
- (_.cover [/.declare]
- (expression (|>> (as Frac) (f.= number/1))
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.declare $local)
- (/.set $local (/.number number/1))
- (/.return $local)))
- (list (/.number number/0)))))
+ (_.coverage [/.var]
+ (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_* (/.closure (list $foreign) (/.return $foreign))
+ (list (/.number number/0)))))
+ (_.coverage [/.define]
+ (expression (|>> (as Frac) (f.= number/1))
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.define $local (/.number number/1))
+ (/.return $local)))
+ (list (/.number number/0)))))
+ (_.coverage [/.declare]
+ (expression (|>> (as Frac) (f.= number/1))
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.declare $local)
+ (/.set $local (/.number number/1))
+ (/.return $local)))
+ (list (/.number number/0)))))
)))
(def: test/location
@@ -359,85 +359,85 @@
$foreign (# ! each /.var (random.lower_case 10))
field (random.upper_case 10)]
(all _.and
- (_.cover [/.set]
- (and (expression (|>> (as Frac) (f.= (f.+ number/0 number/0)))
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.+ $foreign $foreign))
- (/.return $foreign)))
- (list (/.number number/0))))
- (expression (|>> (as Frac) (f.= (f.+ number/0 number/0)))
- (let [@ (/.at (/.int +0) $foreign)]
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.array (list $foreign)))
- (/.set @ (/.+ @ @))
- (/.return @)))
- (list (/.number number/0)))))
- (expression (|>> (as Frac) (f.= (f.+ number/0 number/0)))
- (let [@ (/.the field $foreign)]
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.object (list [field $foreign])))
- (/.set @ (/.+ @ @))
- (/.return @)))
- (list (/.number number/0)))))))
- (_.cover [/.delete]
- (and (and (expression (|>> (as Bit))
- (/.apply_* (/.closure (list)
- (all /.then
- (/.set $foreign (/.number number/0))
- (/.return (/.delete $foreign))))
- (list)))
- (expression (|>> (as Bit) not)
- (/.apply_* (/.closure (list $foreign)
- (/.return (/.delete $foreign)))
- (list (/.number number/0)))))
- (expression (|>> (as Bit))
- (let [@ (/.at (/.int +0) $foreign)]
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.array (list $foreign)))
- (/.return (|> (/.= (/.boolean true) (/.delete @))
- (/.and (/.= /.undefined @))))))
- (list (/.number number/0)))))
- (expression (|>> (as Bit))
- (let [@ (/.the field $foreign)]
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.object (list [field $foreign])))
- (/.return (|> (/.= (/.boolean true) (/.delete @))
- (/.and (/.= /.undefined @))))))
- (list (/.number number/0)))))
- ))
- (_.cover [/.Access]
- (`` (and (~~ (template [<js> <lux>]
- [(expression (|>> (as Frac) f.int (i.= (<lux> int/0)))
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.statement (<js> $foreign))
- (/.return $foreign)))
- (list (/.int int/0))))
- (expression (|>> (as Frac) f.int (i.= (<lux> int/0)))
- (let [@ (/.at (/.int +0) $foreign)]
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.array (list $foreign)))
- (/.statement (<js> @))
- (/.return @)))
- (list (/.int int/0)))))
- (expression (|>> (as Frac) f.int (i.= (<lux> int/0)))
- (let [@ (/.the field $foreign)]
- (/.apply_* (/.closure (list $foreign)
- (all /.then
- (/.set $foreign (/.object (list [field $foreign])))
- (/.statement (<js> @))
- (/.return @)))
- (list (/.int int/0)))))]
-
- [/.++ .++]
- [/.-- .--]
- )))))
+ (_.coverage [/.set]
+ (and (expression (|>> (as Frac) (f.= (f.+ number/0 number/0)))
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.+ $foreign $foreign))
+ (/.return $foreign)))
+ (list (/.number number/0))))
+ (expression (|>> (as Frac) (f.= (f.+ number/0 number/0)))
+ (let [@ (/.at (/.int +0) $foreign)]
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.array (list $foreign)))
+ (/.set @ (/.+ @ @))
+ (/.return @)))
+ (list (/.number number/0)))))
+ (expression (|>> (as Frac) (f.= (f.+ number/0 number/0)))
+ (let [@ (/.the field $foreign)]
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.object (list [field $foreign])))
+ (/.set @ (/.+ @ @))
+ (/.return @)))
+ (list (/.number number/0)))))))
+ (_.coverage [/.delete]
+ (and (and (expression (|>> (as Bit))
+ (/.apply_* (/.closure (list)
+ (all /.then
+ (/.set $foreign (/.number number/0))
+ (/.return (/.delete $foreign))))
+ (list)))
+ (expression (|>> (as Bit) not)
+ (/.apply_* (/.closure (list $foreign)
+ (/.return (/.delete $foreign)))
+ (list (/.number number/0)))))
+ (expression (|>> (as Bit))
+ (let [@ (/.at (/.int +0) $foreign)]
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.array (list $foreign)))
+ (/.return (|> (/.= (/.boolean true) (/.delete @))
+ (/.and (/.= /.undefined @))))))
+ (list (/.number number/0)))))
+ (expression (|>> (as Bit))
+ (let [@ (/.the field $foreign)]
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.object (list [field $foreign])))
+ (/.return (|> (/.= (/.boolean true) (/.delete @))
+ (/.and (/.= /.undefined @))))))
+ (list (/.number number/0)))))
+ ))
+ (_.coverage [/.Access]
+ (`` (and (~~ (template [<js> <lux>]
+ [(expression (|>> (as Frac) f.int (i.= (<lux> int/0)))
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.statement (<js> $foreign))
+ (/.return $foreign)))
+ (list (/.int int/0))))
+ (expression (|>> (as Frac) f.int (i.= (<lux> int/0)))
+ (let [@ (/.at (/.int +0) $foreign)]
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.array (list $foreign)))
+ (/.statement (<js> @))
+ (/.return @)))
+ (list (/.int int/0)))))
+ (expression (|>> (as Frac) f.int (i.= (<lux> int/0)))
+ (let [@ (/.the field $foreign)]
+ (/.apply_* (/.closure (list $foreign)
+ (all /.then
+ (/.set $foreign (/.object (list [field $foreign])))
+ (/.statement (<js> @))
+ (/.return @)))
+ (list (/.int int/0)))))]
+
+ [/.++ .++]
+ [/.-- .--]
+ )))))
(_.for [/.Var]
..test/var)
)))
@@ -459,93 +459,93 @@
$inner_index (/.var "inner_index")
$outer_index (/.var "outer_index")]]
(all _.and
- (_.cover [/.break]
- (let [expected (i.* (.int expected_inner_iterations) input)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $inner_index (/.int +0))
- (/.define $output (/.int +0))
- (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
- (all /.then
- (/.when (/.= (/.int (.int expected_inner_iterations)) $inner_index)
- /.break)
- (/.set $output (/.+ $input $output))
- (/.set $inner_index (/.+ (/.int +1) $inner_index))
- ))
- (/.return $output)))
- (list (/.int input))))))
- (_.cover [/.continue]
- (let [expected (i.* (.int (n.- expected_inner_iterations full_inner_iterations)) input)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $inner_index (/.int +0))
- (/.define $output (/.int +0))
- (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
- (all /.then
- (/.set $inner_index (/.+ (/.int +1) $inner_index))
- (/.when (/.<= (/.int (.int expected_inner_iterations)) $inner_index)
- /.continue)
- (/.set $output (/.+ $input $output))
- ))
- (/.return $output)))
- (list (/.int input))))))
+ (_.coverage [/.break]
+ (let [expected (i.* (.int expected_inner_iterations) input)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $inner_index (/.int +0))
+ (/.define $output (/.int +0))
+ (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
+ (all /.then
+ (/.when (/.= (/.int (.int expected_inner_iterations)) $inner_index)
+ /.break)
+ (/.set $output (/.+ $input $output))
+ (/.set $inner_index (/.+ (/.int +1) $inner_index))
+ ))
+ (/.return $output)))
+ (list (/.int input))))))
+ (_.coverage [/.continue]
+ (let [expected (i.* (.int (n.- expected_inner_iterations full_inner_iterations)) input)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $inner_index (/.int +0))
+ (/.define $output (/.int +0))
+ (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
+ (all /.then
+ (/.set $inner_index (/.+ (/.int +1) $inner_index))
+ (/.when (/.<= (/.int (.int expected_inner_iterations)) $inner_index)
+ /.continue)
+ (/.set $output (/.+ $input $output))
+ ))
+ (/.return $output)))
+ (list (/.int input))))))
(_.for [/.label /.with_label]
(all _.and
- (_.cover [/.break_at]
- (let [expected (i.* (.int (n.* expected_outer_iterations
- expected_inner_iterations))
- input)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $output (/.int +0))
- (/.define $outer_index (/.int +0))
- (/.with_label @outer
- (/.while (/.< (/.int (.int full_outer_iterations)) $outer_index)
- (all /.then
- (/.define $inner_index (/.int +0))
- (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
- (all /.then
- (/.when (/.= (/.int (.int expected_outer_iterations)) $outer_index)
- (/.break_at @outer))
- (/.when (/.= (/.int (.int expected_inner_iterations)) $inner_index)
- /.break)
- (/.set $output (/.+ $input $output))
- (/.set $inner_index (/.+ (/.int +1) $inner_index))
- ))
- (/.set $outer_index (/.+ (/.int +1) $outer_index))
- )))
- (/.return $output)))
- (list (/.int input))))))
- (_.cover [/.continue_at]
- (let [expected (i.* (.int (n.* (n.- expected_outer_iterations full_outer_iterations)
- (n.- expected_inner_iterations full_inner_iterations)))
- input)]
- (expression (|>> (as Frac) f.int (i.= expected))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $output (/.int +0))
- (/.define $outer_index (/.int +0))
- (/.with_label @outer
- (/.while (/.< (/.int (.int full_outer_iterations)) $outer_index)
- (all /.then
- (/.set $outer_index (/.+ (/.int +1) $outer_index))
- (/.define $inner_index (/.int +0))
- (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
- (all /.then
- (/.set $inner_index (/.+ (/.int +1) $inner_index))
- (/.when (/.<= (/.int (.int expected_outer_iterations)) $outer_index)
- (/.continue_at @outer))
- (/.when (/.<= (/.int (.int expected_inner_iterations)) $inner_index)
- /.continue)
- (/.set $output (/.+ $input $output))
- ))
- )
- ))
- (/.return $output)))
- (list (/.int input))))))
+ (_.coverage [/.break_at]
+ (let [expected (i.* (.int (n.* expected_outer_iterations
+ expected_inner_iterations))
+ input)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $output (/.int +0))
+ (/.define $outer_index (/.int +0))
+ (/.with_label @outer
+ (/.while (/.< (/.int (.int full_outer_iterations)) $outer_index)
+ (all /.then
+ (/.define $inner_index (/.int +0))
+ (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
+ (all /.then
+ (/.when (/.= (/.int (.int expected_outer_iterations)) $outer_index)
+ (/.break_at @outer))
+ (/.when (/.= (/.int (.int expected_inner_iterations)) $inner_index)
+ /.break)
+ (/.set $output (/.+ $input $output))
+ (/.set $inner_index (/.+ (/.int +1) $inner_index))
+ ))
+ (/.set $outer_index (/.+ (/.int +1) $outer_index))
+ )))
+ (/.return $output)))
+ (list (/.int input))))))
+ (_.coverage [/.continue_at]
+ (let [expected (i.* (.int (n.* (n.- expected_outer_iterations full_outer_iterations)
+ (n.- expected_inner_iterations full_inner_iterations)))
+ input)]
+ (expression (|>> (as Frac) f.int (i.= expected))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $output (/.int +0))
+ (/.define $outer_index (/.int +0))
+ (/.with_label @outer
+ (/.while (/.< (/.int (.int full_outer_iterations)) $outer_index)
+ (all /.then
+ (/.set $outer_index (/.+ (/.int +1) $outer_index))
+ (/.define $inner_index (/.int +0))
+ (/.while (/.< (/.int (.int full_inner_iterations)) $inner_index)
+ (all /.then
+ (/.set $inner_index (/.+ (/.int +1) $inner_index))
+ (/.when (/.<= (/.int (.int expected_outer_iterations)) $outer_index)
+ (/.continue_at @outer))
+ (/.when (/.<= (/.int (.int expected_inner_iterations)) $inner_index)
+ /.continue)
+ (/.set $output (/.+ $input $output))
+ ))
+ )
+ ))
+ (/.return $output)))
+ (list (/.int input))))))
))
)))
@@ -560,43 +560,43 @@
expected|while (i.* (.int iterations) input)
expected|do_while (i.* (.int (n.max 1 iterations)) input)]]
(all _.and
- (_.cover [/.while]
- (expression (|>> (as Frac) f.int (i.= expected|while))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $index (/.int +0))
- (/.define $output (/.int +0))
- (/.while (/.< (/.int (.int iterations)) $index)
- (all /.then
- (/.set $output (/.+ $input $output))
- (/.set $index (/.+ (/.int +1) $index))
- ))
- (/.return $output)))
- (list (/.int input)))))
- (_.cover [/.do_while]
- (expression (|>> (as Frac) f.int (i.= expected|do_while))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $index (/.int +0))
- (/.define $output (/.int +0))
- (/.do_while (/.< (/.int (.int iterations)) $index)
- (all /.then
- (/.set $output (/.+ $input $output))
- (/.set $index (/.+ (/.int +1) $index))
- ))
- (/.return $output)))
- (list (/.int input)))))
- (_.cover [/.for]
- (expression (|>> (as Frac) f.int (i.= expected|while))
- (/.apply_* (/.closure (list $input)
- (all /.then
- (/.define $output (/.int +0))
- (/.for $index (/.int +0)
- (/.< (/.int (.int iterations)) $index)
- (/.++ $index)
- (/.set $output (/.+ $input $output)))
- (/.return $output)))
- (list (/.int input)))))
+ (_.coverage [/.while]
+ (expression (|>> (as Frac) f.int (i.= expected|while))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $index (/.int +0))
+ (/.define $output (/.int +0))
+ (/.while (/.< (/.int (.int iterations)) $index)
+ (all /.then
+ (/.set $output (/.+ $input $output))
+ (/.set $index (/.+ (/.int +1) $index))
+ ))
+ (/.return $output)))
+ (list (/.int input)))))
+ (_.coverage [/.do_while]
+ (expression (|>> (as Frac) f.int (i.= expected|do_while))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $index (/.int +0))
+ (/.define $output (/.int +0))
+ (/.do_while (/.< (/.int (.int iterations)) $index)
+ (all /.then
+ (/.set $output (/.+ $input $output))
+ (/.set $index (/.+ (/.int +1) $index))
+ ))
+ (/.return $output)))
+ (list (/.int input)))))
+ (_.coverage [/.for]
+ (expression (|>> (as Frac) f.int (i.= expected|while))
+ (/.apply_* (/.closure (list $input)
+ (all /.then
+ (/.define $output (/.int +0))
+ (/.for $index (/.int +0)
+ (/.< (/.int (.int iterations)) $index)
+ (/.++ $index)
+ (/.set $output (/.+ $input $output)))
+ (/.return $output)))
+ (list (/.int input)))))
(_.for [/.Label]
..test|label)
)))
@@ -609,20 +609,20 @@
random.safe_frac)
$ex (# ! each /.var (random.lower_case 10))]
(all _.and
- (_.cover [/.try]
- (expression (|>> (as Frac) (f.= expected))
- (/.apply_* (/.closure (list)
- (/.try (/.return (/.number expected))
- [$ex (/.return (/.number dummy))]))
- (list))))
- (_.cover [/.throw]
- (expression (|>> (as Frac) (f.= expected))
- (/.apply_* (/.closure (list)
- (/.try (all /.then
- (/.throw (/.number expected))
- (/.return (/.number dummy)))
- [$ex (/.return $ex)]))
- (list))))
+ (_.coverage [/.try]
+ (expression (|>> (as Frac) (f.= expected))
+ (/.apply_* (/.closure (list)
+ (/.try (/.return (/.number expected))
+ [$ex (/.return (/.number dummy))]))
+ (list))))
+ (_.coverage [/.throw]
+ (expression (|>> (as Frac) (f.= expected))
+ (/.apply_* (/.closure (list)
+ (/.try (all /.then
+ (/.throw (/.number expected))
+ (/.return (/.number dummy)))
+ [$ex (/.return $ex)]))
+ (list))))
)))
(def: test|apply
@@ -635,27 +635,27 @@
$arg/1 (# ! each /.var (random.lower_case 11))
$arg/2 (# ! each /.var (random.lower_case 12))]
(`` (all _.and
- (_.cover [/.apply_1]
- (expression (|>> (as Frac) (f.= number/0))
- (/.apply_1 (/.closure (list $arg/0) (/.return $arg/0))
- (/.number number/0))))
- (_.cover [/.apply_2]
- (expression (|>> (as Frac) (f.= (all f.+ number/0 number/1)))
- (/.apply_2 (/.closure (list $arg/0 $arg/1) (/.return (all /.+ $arg/0 $arg/1)))
- (/.number number/0)
- (/.number number/1))))
- (_.cover [/.apply_3]
- (expression (|>> (as Frac) (f.= (all f.+ number/0 number/1 number/2)))
- (/.apply_3 (/.closure (list $arg/0 $arg/1 $arg/2) (/.return (all /.+ $arg/0 $arg/1 $arg/2)))
- (/.number number/0)
- (/.number number/1)
- (/.number number/2))))
- (_.cover [/.apply_*]
- (expression (|>> (as Frac) (f.= (all f.+ number/0 number/1 number/2)))
- (/.apply_* (/.closure (list $arg/0 $arg/1 $arg/2) (/.return (all /.+ $arg/0 $arg/1 $arg/2)))
- (list (/.number number/0)
- (/.number number/1)
- (/.number number/2)))))
+ (_.coverage [/.apply_1]
+ (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_1 (/.closure (list $arg/0) (/.return $arg/0))
+ (/.number number/0))))
+ (_.coverage [/.apply_2]
+ (expression (|>> (as Frac) (f.= (all f.+ number/0 number/1)))
+ (/.apply_2 (/.closure (list $arg/0 $arg/1) (/.return (all /.+ $arg/0 $arg/1)))
+ (/.number number/0)
+ (/.number number/1))))
+ (_.coverage [/.apply_3]
+ (expression (|>> (as Frac) (f.= (all f.+ number/0 number/1 number/2)))
+ (/.apply_3 (/.closure (list $arg/0 $arg/1 $arg/2) (/.return (all /.+ $arg/0 $arg/1 $arg/2)))
+ (/.number number/0)
+ (/.number number/1)
+ (/.number number/2))))
+ (_.coverage [/.apply_*]
+ (expression (|>> (as Frac) (f.= (all f.+ number/0 number/1 number/2)))
+ (/.apply_* (/.closure (list $arg/0 $arg/1 $arg/2) (/.return (all /.+ $arg/0 $arg/1 $arg/2)))
+ (list (/.number number/0)
+ (/.number number/1)
+ (/.number number/2)))))
))))
(def: test|function
@@ -668,36 +668,36 @@
field (random.lower_case 3)
$class (# ! each /.var (random.upper_case 4))]
(all _.and
- (_.cover [/.closure /.return]
- (expression (|>> (as Frac) (f.= number/0))
- (/.apply_* (/.closure (list) (/.return (/.number number/0)))
- (list))))
- (_.cover [/.function]
- (expression (|>> (as Frac) f.nat (n.= iterations))
- (/.apply_1 (/.function $self (list $arg/0)
- (/.return (/.? (/.< (/.int (.int iterations)) $arg/0)
- (/.apply_1 $self (/.+ (/.int +1) $arg/0))
- $arg/0)))
- (/.int +0))))
- (_.cover [/.function_definition]
- (expression (|>> (as Frac) f.nat (n.= iterations))
- (/.apply_* (/.closure (list)
- (all /.then
- (/.function_definition $self (list $arg/0)
- (/.return (/.? (/.< (/.int (.int iterations)) $arg/0)
- (/.apply_1 $self (/.+ (/.int +1) $arg/0))
- $arg/0)))
- (/.return (/.apply_1 $self (/.int +0)))))
- (list))))
- (_.cover [/.new]
- (let [$this (/.var "this")]
- (expression (|>> (as Frac) (f.= number/0))
- (/.apply_1 (/.closure (list $arg/0)
- (all /.then
- (/.function_definition $class (list)
- (/.set (/.the field $this) $arg/0))
- (/.return (/.the field (/.new $class (list))))))
- (/.number number/0)))))
+ (_.coverage [/.closure /.return]
+ (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_* (/.closure (list) (/.return (/.number number/0)))
+ (list))))
+ (_.coverage [/.function]
+ (expression (|>> (as Frac) f.nat (n.= iterations))
+ (/.apply_1 (/.function $self (list $arg/0)
+ (/.return (/.? (/.< (/.int (.int iterations)) $arg/0)
+ (/.apply_1 $self (/.+ (/.int +1) $arg/0))
+ $arg/0)))
+ (/.int +0))))
+ (_.coverage [/.function_definition]
+ (expression (|>> (as Frac) f.nat (n.= iterations))
+ (/.apply_* (/.closure (list)
+ (all /.then
+ (/.function_definition $self (list $arg/0)
+ (/.return (/.? (/.< (/.int (.int iterations)) $arg/0)
+ (/.apply_1 $self (/.+ (/.int +1) $arg/0))
+ $arg/0)))
+ (/.return (/.apply_1 $self (/.int +0)))))
+ (list))))
+ (_.coverage [/.new]
+ (let [$this (/.var "this")]
+ (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_1 (/.closure (list $arg/0)
+ (all /.then
+ (/.function_definition $class (list)
+ (/.set (/.the field $this) $arg/0))
+ (/.return (/.the field (/.new $class (list))))))
+ (/.number number/0)))))
..test|apply
)))
@@ -719,47 +719,47 @@
??? random.bit
int ..int_16]
(all _.and
- (_.cover [/.if]
- (expression (|>> (as Frac) (f.= (if ??? number/0 number/1)))
+ (_.coverage [/.if]
+ (expression (|>> (as Frac) (f.= (if ??? number/0 number/1)))
+ (/.apply_* (/.closure (list)
+ (/.if (/.boolean ???)
+ (/.return (/.number number/0))
+ (/.return (/.number number/1))))
+ (list))))
+ (_.coverage [/.when]
+ (expression (|>> (as Frac) (f.= (if ??? number/0 number/1)))
+ (/.apply_* (/.closure (list)
+ (all /.then
+ (/.when (/.boolean ???)
+ (/.return (/.number number/0)))
+ (/.return (/.number number/1))))
+ (list))))
+ (_.coverage [/.switch]
+ (let [number/0' (%.frac number/0)
+ number/1' (%.frac number/1)
+ number/2' (%.frac number/2)]
+ (and (expression (|>> (as Text) (text#= number/0'))
(/.apply_* (/.closure (list)
- (/.if (/.boolean ???)
- (/.return (/.number number/0))
- (/.return (/.number number/1))))
- (list))))
- (_.cover [/.when]
- (expression (|>> (as Frac) (f.= (if ??? number/0 number/1)))
+ (/.switch (/.number number/0)
+ (list [(list (/.number number/0)) (/.return (/.string number/0'))]
+ [(list (/.number number/1)) (/.return (/.string number/1'))])
+ {.#None}))
+ (list)))
+ (expression (|>> (as Text) (text#= number/1'))
(/.apply_* (/.closure (list)
- (all /.then
- (/.when (/.boolean ???)
- (/.return (/.number number/0)))
- (/.return (/.number number/1))))
- (list))))
- (_.cover [/.switch]
- (let [number/0' (%.frac number/0)
- number/1' (%.frac number/1)
- number/2' (%.frac number/2)]
- (and (expression (|>> (as Text) (text#= number/0'))
- (/.apply_* (/.closure (list)
- (/.switch (/.number number/0)
- (list [(list (/.number number/0)) (/.return (/.string number/0'))]
- [(list (/.number number/1)) (/.return (/.string number/1'))])
- {.#None}))
- (list)))
- (expression (|>> (as Text) (text#= number/1'))
- (/.apply_* (/.closure (list)
- (/.switch (/.number number/1)
- (list [(list (/.number number/0)) (/.return (/.string number/0'))]
- [(list (/.number number/1)) (/.return (/.string number/1'))])
- {.#Some (/.return (/.string number/2'))}))
- (list)))
- (expression (|>> (as Text) (text#= number/2'))
- (/.apply_* (/.closure (list)
- (/.switch (/.number number/2)
- (list [(list (/.number number/0)) (/.return (/.string number/0'))]
- [(list (/.number number/1)) (/.return (/.string number/1'))])
- {.#Some (/.return (/.string number/2'))}))
- (list)))
- )))
+ (/.switch (/.number number/1)
+ (list [(list (/.number number/0)) (/.return (/.string number/0'))]
+ [(list (/.number number/1)) (/.return (/.string number/1'))])
+ {.#Some (/.return (/.string number/2'))}))
+ (list)))
+ (expression (|>> (as Text) (text#= number/2'))
+ (/.apply_* (/.closure (list)
+ (/.switch (/.number number/2)
+ (list [(list (/.number number/0)) (/.return (/.string number/0'))]
+ [(list (/.number number/1)) (/.return (/.string number/1'))])
+ {.#Some (/.return (/.string number/2'))}))
+ (list)))
+ )))
)))
(def: test|statement
@@ -774,55 +774,55 @@
??? random.bit
int ..int_16]
(`` (all _.and
- (_.cover [/.statement]
- (expression (|>> (as Frac) (f.= number/0))
- (/.apply_1 (/.closure (list $arg/0)
- (all /.then
- (/.statement (/.+ $arg/0 $arg/0))
- (/.return $arg/0)))
- (/.number number/0))))
+ (_.coverage [/.statement]
+ (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_1 (/.closure (list $arg/0)
+ (all /.then
+ (/.statement (/.+ $arg/0 $arg/0))
+ (/.return $arg/0)))
+ (/.number number/0))))
(~~ (template [<js> <lux>]
- [(_.cover [<js>]
- (expression (|>> (as Frac) f.int (i.= (<lux> int)))
- (/.apply_1 (/.closure (list $arg/0)
- (/.return (/., (<js> $arg/0)
- $arg/0)))
- (/.int int))))]
+ [(_.coverage [<js>]
+ (expression (|>> (as Frac) f.int (i.= (<lux> int)))
+ (/.apply_1 (/.closure (list $arg/0)
+ (/.return (/., (<js> $arg/0)
+ $arg/0)))
+ (/.int int))))]
[/.++ .++]
[/.-- .--]
))
- (_.cover [/.then]
- (expression (|>> (as Frac) (f.= number/0))
- (/.apply_2 (/.closure (list $arg/0 $arg/1)
- (all /.then
- (/.return $arg/0)
- (/.return $arg/1)))
- (/.number number/0)
- (/.number number/1))))
- (_.cover [/.use_strict]
- (and (expression (|>> (as Frac) (f.= number/0))
- (/.apply_* (/.closure (list)
- (all /.then
- /.use_strict
- (/.declare $arg/0)
- (/.set $arg/0 (/.number number/0))
- (/.return $arg/0)))
- (list)))
- (|> (/.apply_* (/.closure (list)
- (all /.then
- /.use_strict
- ... (/.declare $arg/0)
- (/.set $arg/0 (/.number number/0))
- (/.return $arg/0)))
- (list))
- ..eval
- (pipe.case
- {try.#Success it}
- false
-
- {try.#Failure error}
- true))))
+ (_.coverage [/.then]
+ (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_2 (/.closure (list $arg/0 $arg/1)
+ (all /.then
+ (/.return $arg/0)
+ (/.return $arg/1)))
+ (/.number number/0)
+ (/.number number/1))))
+ (_.coverage [/.use_strict]
+ (and (expression (|>> (as Frac) (f.= number/0))
+ (/.apply_* (/.closure (list)
+ (all /.then
+ /.use_strict
+ (/.declare $arg/0)
+ (/.set $arg/0 (/.number number/0))
+ (/.return $arg/0)))
+ (list)))
+ (|> (/.apply_* (/.closure (list)
+ (all /.then
+ /.use_strict
+ ... (/.declare $arg/0)
+ (/.set $arg/0 (/.number number/0))
+ (/.return $arg/0)))
+ (list))
+ ..eval
+ (pipe.case
+ {try.#Success it}
+ false
+
+ {try.#Failure error}
+ true))))
..test|exception
..test|function
..test|branching