blob: 7c587d6884ecfa2dbd6dd4155ee4a761dbf2b975 (
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
|
(.require
[library
[lux (.except #expected and)
[data
[collection
["[0]" set (.only Set)]]]
[math
[number
["n" nat]]]
[meta
["[0]" symbol]]]]
[//
["[0]" coverage (.only Coverage)]])
(type .public Tally
(Record
[#successes Nat
#failures Nat
#expected Coverage
#actual Coverage]))
(def .public (and parameter subject)
(-> Tally Tally Tally)
[#successes (n.+ (the #successes parameter) (the #successes subject))
#failures (n.+ (the #failures parameter) (the #failures subject))
#expected (set.union (the #expected parameter)
(the #expected subject))
#actual (set.union (the #actual parameter)
(the #actual subject))])
(def .public empty
Tally
[#successes 0
#failures 0
#expected (set.empty symbol.hash)
#actual (set.empty symbol.hash)])
(with_template [<name> <category>]
[(def .public <name>
Tally
(revised <category> .++ ..empty))]
[success #successes]
[failure #failures]
)
|