blob: 868f2cddf384ae04b52b09c6f012d3bac89d7956 (
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
(.require
[library
[lux (.except)
[abstract
[monad (.only do)]
[\\specification
["$[0]" equivalence]
["$[0]" hash]]]
[data
[collection
["[0]" list]
["[0]" set]]]
[math
["[0]" random (.only Random) (.use "[1]#[0]" monad)]
[number
["n" nat]]]
[test
["_" property (.only Test)]]]]
[\\library
["[0]" /]])
(def .public random
(Random /.Scheme)
(all random.either
(random#in /.about)
(random#in /.acap)
(random#in /.user_account)
(random#in /.anonymous_customer_reference)
(random#in /.attachment)
(random#in /.bitcoin)
(random#in /.blob)
(random#in /.calendar_access_protocol)
(random#in /.data)
(random#in /.dns)
(random#in /.dntp)
(random#in /.digital_object_identifier)
(random#in /.drm)
(random#in /.feed)
(random#in /.file)
(random#in /.finger)
(random#in /.fish)
(random#in /.fm)
(random#in /.ftp)
(random#in /.geo)
(random#in /.git)
(random#in /.http)
(random#in /.https)
(random#in /.imap)
(random#in /.ipp)
(random#in /.ipps)
(random#in /.irc)
(random#in /.irc6)
(random#in /.ircs)
(random#in /.jar)
(random#in /.ldap)
(random#in /.ldaps)
(random#in /.magnet)
(random#in /.mail_to)
(random#in /.apache_maven)
(random#in /.pop)
(random#in /.sip)
(random#in /.sips)
(random#in /.sms)
(random#in /.snmp)
(random#in /.ssh)
(random#in /.stun)
(random#in /.stuns)
(random#in /.telephone_number)
(random#in /.turn)
(random#in /.turns)
(random#in /.xmpp)
))
(def .public test
Test
(<| (_.covering /._)
(do [! random.monad]
[expected ..random])
(_.for [/.Scheme])
(`` (all _.and
(_.for [/.equivalence]
($equivalence.spec /.equivalence ..random))
(_.for [/.hash]
($hash.spec /.hash ..random))
(_.coverage [/.name /.scheme]
(|> expected
/.name
/.scheme
(at /.equivalence = expected)))
(with_expansions [<schemes> (these /.about /.acap /.user_account /.anonymous_customer_reference /.attachment
/.bitcoin /.blob
/.calendar_access_protocol
/.data /.dns /.dntp /.digital_object_identifier /.drm
/.feed /.file /.finger /.fish /.fm /.ftp
/.geo /.git
/.http /.https
/.imap /.ipp /.ipps /.irc /.irc6 /.ircs
/.jar
/.ldap /.ldaps
/.magnet /.mail_to /.apache_maven
/.pop
/.sip /.sips /.sms /.snmp /.ssh /.stun /.stuns
/.telephone_number /.turn /.turns
/.xmpp)]
(_.coverage [<schemes>]
(let [options (list <schemes>)
uniques (set.of_list /.hash options)]
(n.= (list.size options)
(set.size uniques)))))
(,, (with_template [<original> <alias>]
[(_.coverage [<alias>]
(at /.equivalence = <original> <alias>))]
[/.acap /.application_configuration_access_protocol]
[/.dns /.domain_name_system]
[/.dntp /.direct_network_transfer_protocol]
[/.ftp /.file_transfer_protocol]
[/.http /.hypertext_transfer_protocol]
[/.https /.hypertext_transfer_protocol_secure]
[/.imap /.internet_message_access_protocol]
[/.ipp /.internet_printing_protocol]
[/.ipps /.internet_printing_protocol_secure]
[/.irc /.internet_relay_chat]
[/.ircs /.internet_relay_chat_secure]
[/.ldap /.lightweight_directory_access_protocol]
[/.ldaps /.lightweight_directory_access_protocol_secure]
[/.pop /.post_office_protocol]
[/.sip /.session_initiation_protocol]
[/.sips /.session_initiation_protocol_secure]
[/.sms /.short_message_service]
[/.snmp /.simple_network_management_protocol]
[/.ssh /.secure_shell_protocol]
[/.stun /.session_traversal_utilities_for_nat]
[/.stuns /.session_traversal_utilities_for_nat_secure]
[/.turn /.traversal_using_relays_around_nat]
[/.turns /.traversal_using_relays_around_nat_secure]
[/.xmpp /.extensible_messaging_and_presence_protocol]))
))))
|