blob: f39893779daa2199b4adcbc773d0478f5d622926 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
(.module:
[library
[lux #*
["_" test (#+ Test)]
[abstract
[monad (#+ do)]]
[math
["." random]]]]
[\\library
["." /]])
(/.import: File
["#::."
(#static SEPARATOR /.String)])
(def: .public test
Test
(do {! random.monad}
[boolean random.bit
integer random.int
float random.frac
string (random.ascii/lower 1)]
(<| (_.covering /._)
(`` ($_ _.and
(~~ (template [<type> <sample>]
[(_.cover [<type>]
(exec
(: <type> <sample>)
true))]
[/.Boolean boolean]
[/.Integer integer]
[/.Float float]
[/.String string]
))
(_.for [/.Object]
($_ _.and
(~~ (template [<type>]
[(_.cover [<type>]
(exec
(|> []
(:as <type>)
(: (Ex [a] (/.Object a))))
true))]
[/.Nil]
[/.Function]
))))
(_.cover [/.import:]
(same? (..File::SEPARATOR)
(..File::SEPARATOR)))
)))))
|