d50fd534f6b1a3b378b7ffc1ea60f12f202a1c93
[clnl] / src / test / clnl / simpletests.lisp
1 ; Copyright 2022 Frank Duncan (frank@consxy.com) under AGPL3.  See distributed LICENSE.txt.
2 (in-package #:clnl-test)
3
4 (defsimplecommandtest "Nothing" ""
5  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
6
7 (defsimplecommandtest "Simple crt" "crt 1"
8  "2F08B31AC06C9D5339E6B3E953C2B4B71FDB9CDE")
9
10 (defsimplecommandtest "Simple crt 2" "crt 5"
11  "9FE588C2749CD9CE66CB0EA451EFB80476E881FB")
12
13 (defsimplecommandtest "Simple crt and fd random" "crt 30 ask turtles [ fd random-float 1 ]"
14  "DED34D1D6492244E9E3813DE8DBF258F96636879")
15
16 (defsimplecommandtest "Simple crt and fd" "crt 5 ask turtles [ fd 1 ]"
17  "BEB43404EDC7852985A9A7FC312481785FE553A0")
18
19 (defsimplecommandtest "Simple crt and fd 2" "crt 5 [ fd 1 ]"
20  "BEB43404EDC7852985A9A7FC312481785FE553A0")
21
22 (defsimplecommandtest "Wrapping 1" "crt 5 ask turtles [ fd 5 ]"
23  "1098A56973DA04E7AEA7659C40E3FF3EC7862B02")
24
25 (defsimplecommandtest "Wrapping 2" "crt 5 ask turtles [ fd random-float 5 ]"
26  "1419DFA66EFB7F08FB30C7B63B256547212EB915")
27
28 (defsimplecommandtest "Wrapping 3" "crt 10 ask turtles [ fd -5 ]"
29  "53E4ECBD3C49FC8D3466563641CFCD7DCB5CD2AF")
30
31 (defsimplecommandtest "Wrapping 4" "crt 10 ask turtles [ fd random-float -5 ]"
32  "1258CE9CC93B52367E797F4C497BF95760EC7175")
33
34 (defsimplereportertest "Random 1" "random-float 5" "4.244088516651127"
35  "17D1BF7FF7BF2C7F3F5F7DD7CF67CFF2772CFFFC")
36
37 (defsimplereportertest "= 1" "5 = 5" "true"
38  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
39
40 (defsimplereportertest "= 2" "5 = 4" "false"
41  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
42
43 (defsimplereportertest "!= 1" "5 != 5" "false"
44  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
45
46 (defsimplereportertest "!= 2" "5 != 4" "true"
47  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
48
49 (defsimplereportertest "- 1" "5 - 5" "0"
50  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
51
52 (defsimplereportertest "- 2" "5 - 6" "-1"
53  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
54
55 (defsimplereportertest "- 3" "random-float 5 - random-float 5" "3.349608870016444"
56  "811837B74F63D10ABBC01DD59C1E7556706D9F7A")
57
58 (defsimplereportertest "+ 1" "5 + 5" "10"
59  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
60
61 (defsimplereportertest "+ 2" "5 + -6" "-1"
62  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
63
64 (defsimplereportertest "+ 3" "random-float 6 + random-float 6" "6.166281795942972"
65  "811837B74F63D10ABBC01DD59C1E7556706D9F7A")
66
67 (defsimplereportertest "* 1" "5 * 5" "25"
68  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
69
70 (defsimplereportertest "* 2" "5 * -6" "-30"
71  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
72
73 (defsimplereportertest "* 3" "random-float 4 * random-float 7" "4.251800892259665"
74  "811837B74F63D10ABBC01DD59C1E7556706D9F7A")
75
76 (defsimplereportertest "/ 1" "5 / 5" "1"
77  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
78
79 (defsimplereportertest "/ 2" "5 / -6" "-0.8333333333333334"
80  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
81
82 (defsimplereportertest "/ 3" "random-float 4 / random-float 7" "2.7112896835726876"
83  "811837B74F63D10ABBC01DD59C1E7556706D9F7A")
84
85 (defsimplereportertest "< 1" "5 < 5" "false"
86  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
87
88 (defsimplereportertest "< 2" "5 < 6" "true"
89  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
90
91 (defsimplereportertest "< 3" "random-float 4 < random-float 7" "false"
92  "811837B74F63D10ABBC01DD59C1E7556706D9F7A")
93
94 (defsimplereportertest "<= 1" "5 <= 5" "true"
95  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
96
97 (defsimplereportertest "<= 2" "5 <= 6" "true"
98  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
99
100 (defsimplereportertest "<= 3" "random-float 4 <= random-float 7" "false"
101  "811837B74F63D10ABBC01DD59C1E7556706D9F7A")
102
103 (defsimplereportertest "precedence 1" "5 + 3 * 2 - 1 * count patches + 8" "10"
104  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
105
106 (defsimplereportertest "precedence 2" "(5 + 3) * 2 - 1 * count patches + 8" "15"
107  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
108
109 (defsimplereportertest "any? 1" "any? turtles" "false"
110  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
111
112 (defreportertestwithsetup "any? 2" "crt 10" "any? turtles" "true"
113  "A925E39EC022967568D238D31F70F0A375024A89")
114
115 (defsimplecommandtest "die 1" "crt 10 ask turtles [ die ]"
116  "A665C1BF95E1F9CAAE9B9F8B2FBE3DAA45453136")
117
118 (defsimplecommandtest "die 2" "crt 10 ask turtles [ hatch 1 die hatch 1 ]"
119  "DFB46C61ACB9A24004FF26B04DCB0AC32E90AA36")
120
121 (defsimplecommandtest "die 3" "crt 5 ask turtles [ ask one-of turtles-here [ die ] hatch 1 ]"
122  "6D3B8351E71C03E479706C22172F6FACD2C558CE")
123
124 (defreportertestwithsetup "any? 3" "crt 10 ask turtles [ die ]" "any? turtles" "false"
125  "A665C1BF95E1F9CAAE9B9F8B2FBE3DAA45453136")
126
127 (defsimplecommandtest "rt 1" "crt 100 ask turtles [ fd random-float 5 rt random-float 180 fd random-float 4 ]"
128  "186B05DEFF6771BE791D54AB36A36874EC6E04FE")
129
130 (defsimplecommandtest "rt 2" "crt 100 ask turtles [ fd random-float 5 rt random-float 1080 fd random-float 4 ]"
131  "154C05DF7810C0FF5D7DDE51B76E1012FFB2C0E1")
132
133 (defsimplecommandtest "lt 1" "crt 100 ask turtles [ fd random-float 5 lt random-float 180 fd random-float 4 ]"
134  "D4B3844FE453C05E57537D6BA94C4B42C84655C6")
135
136 (defsimplecommandtest "lt 2" "crt 100 ask turtles [ fd random-float 5 lt random-float 1080 fd random-float 4 ]"
137  "07DEB6F4F007DB86CD8F2C2E10BD4E35CAD2B0CE")
138
139 (defsimplecommandtest "if 1" "if 5 = 5 [ crt 10 ]"
140  "A925E39EC022967568D238D31F70F0A375024A89")
141
142 (defsimplecommandtest "if 2" "if 5 = 4 [ crt 10 ]"
143  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
144
145 (defsimplecommandtest "ifelse 1" "ifelse 5 = 5 [ crt 10 ] [crt 5 ] if-else 5 = 5 [ crt 10 ] [ crt 5 ]"
146  "2CF70DC9135754E77B64422C10E947E776E731E6")
147
148 (defsimplecommandtest "ifelse 2" "ifelse 5 = 4 [ crt 10 ] [ crt 5 ] if-else 5 = 4 [ crt 10 ] [ crt 5 ]"
149  "A925E39EC022967568D238D31F70F0A375024A89")
150
151 (defsimplecommandtest "ifelse 3" "ifelse 4 = 4 [ crt 5 crt 5 ] [ crt 10 crt 10 ]"
152  "A925E39EC022967568D238D31F70F0A375024A89")
153
154 (defsimplecommandtest "ifelse 4" "ifelse 4 = 5 [ crt 5 crt 5 ] [ crt 10 crt 10 ]"
155  "2CF70DC9135754E77B64422C10E947E776E731E6")
156
157 (defsimplecommandtest "not 1" "if not (5 = 5) [ crt 10 ]"
158  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
159
160 (defsimplecommandtest "not 2" "if not (5 = 4) [ crt 10 ]"
161  "A925E39EC022967568D238D31F70F0A375024A89")
162
163 (defsimplereportertest "colors 1" "green" "55"
164  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
165
166 (defsimplereportertest "colors 2" "black" "0"
167  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
168
169 (defsimplecommandtest "let 1" "let a 5 crt a"
170  "9FE588C2749CD9CE66CB0EA451EFB80476E881FB")
171
172 (defsimplecommandtest "let 2" "let a 5 let b 6 crt a + b"
173  "4ABB6822402929878AB9E5A1084B9E4AE1F01D5B")
174
175 (defsimplecommandtest "ticks 1" "reset-ticks tick"
176  "22A78AC53B666DE94611D566D814AD3EA7CC26AB")
177
178 (defreportertestwithsetup "ticks 2" "reset-ticks tick tick" "ticks" "2"
179  "296AE6F478D03264745B0331EC5CEF578C37CAB9")
180
181 (defreportertestwithsetup "of / who 1" "crt 10" "[ who ] of turtles" "[5 9 4 3 7 0 1 2 6 8]"
182  "3F39BD2D8D5A1B2333E6C0DB665DBE3DCD5A75CE")
183
184 (defreportertestwithsetup "set / pcolor" "ask patches [ set pcolor green ]" "[ pcolor ] of patches"
185  "[55 55 55 55 55 55 55 55 55]"
186  "3E246C518581E004BC65EFB074A09BA2EEBB2910")
187
188 (defsimplereportertest "one-of 1" "one-of patches" "(patch -1 -1)"
189  "0BDACB8E9D2BB768C01826E993B47D83D39FBD0C")
190
191 (defsimplereportertest "one-of 2" "one-of turtles" "nobody"
192  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
193
194 (defreportertestwithsetup "one-of 3" "crt 10" "one-of turtles" "(turtle 5)"
195  "A056ED8BF26A69FB4437E79F263E362C27F8820E")
196
197 (defsimplereportertest "one-of 4" "one-of [green brown]" "35"
198  "0BDACB8E9D2BB768C01826E993B47D83D39FBD0C")
199
200 (defsimplecommandtest "one-of 5" "crt 50 ask turtles [ set color one-of [green brown blue] ]"
201  "FD6AC9D531591C47FCE4E4AA0C4FA11CB7A06199")
202
203 (defreportertestwithsetup "one-of / of" "crt 10" "[ color ] of one-of turtles" "65"
204  "A056ED8BF26A69FB4437E79F263E362C27F8820E")
205
206 (defsimplecommandtest "one-of / ask" "crt 10 ask one-of turtles [ fd 1 ]"
207  "40106C3853F3870AAE37F232353115968A3A02F6")
208
209 (defsimplecommandtest "color 1" "crt 10 ask turtles [ set color green ]"
210  "20943094E2C70D5A12AC6EEB29E8E9E2D21BD87D")
211
212 (defsimplecommandtest "label 1" "crt 10 ask turtles [ set label who ]"
213  "96BF63544678A06E0D9A5062613CE1CAD638FCD5")
214
215 (defsimplecommandtest "label-color 1" "crt 10 ask turtles [ set label-color green ]"
216  "70AB2BAA0BFD312256DDE6C02EE2B9C23E9B3532")
217
218 (defsimplecommandtest "size 1" "crt 10 ask turtles [ set size 5 ]"
219  "8837CF2681A2091B0664FAA2C32062B19F548ED6")
220
221 (defsimplereportertest "random 1" "random 100000" "85402"
222  "17D1BF7FF7BF2C7F3F5F7DD7CF67CFF2772CFFFC")
223
224 (defreportertestwithsetup "random 2" "crt 10" "[ random 1000000 ] of turtles"
225  "[512564 490953 127774 976371 218233 692751 909837 655769 977588 485347]"
226  "2048ED1C553B0342D5DE1302577394CD09DE88DA")
227
228 (defsimplecommandtest "setxy 1" "crt 10 ask turtles [ setxy random-xcor random-ycor ]"
229  "B02FD5B864A129AED5254A68C499607F7F6EA236")
230
231 (defsimplereportertest "count 1" "count turtles" "0"
232  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
233
234 (defreportertestwithsetup "count 2" "crt 10" "count turtles" "10"
235  "A925E39EC022967568D238D31F70F0A375024A89")
236
237 (defsimplereportertest "count 3" "count patches" "9"
238  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
239
240 (defreportertestwithsetup "with 1"
241  "crt 10 [ set color blue ] crt 10 [ set color green ]" "turtles with [ color = blue ]"
242  "(agentset, 10 turtles)"
243  "3FA51464CBF2AD493FA95A52E17768E1D8C8EFBB")
244
245 (defreportertestwithsetup "with 2"
246  "crt 10 [ set color blue ] crt 10 [ set color green ]" "turtles with [ color = black ]"
247  "(agentset, 0 turtles)"
248  "3FA51464CBF2AD493FA95A52E17768E1D8C8EFBB")
249
250 (defsimplereportertest "with 3" "patches with [ pcolor = green ]"
251  "(agentset, 0 patches)"
252  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
253
254 (defsimplecommandtest "hatch 1" "crt 10 ask turtles [ hatch 1 ]"
255  "29E3D1D3FAA14FC0D6E03DB1315932EEBC7CB1F1")
256
257 (defsimplecommandtest "hatch 2" "crt 10 ask turtles [ hatch 1 [ fd .5 ] ] ask turtles [ fd .5 ]"
258  "58E3CBC869F26B7D9ABC0C05C58C29F2FD588912")
259
260 (defsimplecommandtest "set-default-shapes 1" "crt 10 set-default-shape turtles \"sheep\" crt 10"
261  "F0B80936630E8B597CB1088493E3765B5B4A2137")
262
263 (defreportertestwithsetup "round 1" "crt 10" "[ round random-float 1000 ] of turtles"
264  "[264 551 807 834 47 117 999 259 87 963]"
265  "2048ED1C553B0342D5DE1302577394CD09DE88DA")
266
267 (defsimplereportertest "round 2" "round 1.5" "2"
268  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
269
270 (defsimplereportertest "round 3" "round 2.5" "3"
271  "E1DE30F072D785E0D0B59F28B0F7853E3D3E0D8B")
272
273 (defsimplecommandtest "clear-all 1" "crt 10 ask patches [ set pcolor random 100 ] clear-all"
274  "7B5DF28923D7FD72158018A876DE8ED02CFB0882")
275
276 (defsimplecommandtest "stop 1" "crt 10 stop crt 10"
277  "A925E39EC022967568D238D31F70F0A375024A89")
278
279 (defsimplecommandtest "stop 2" "crt 10 ask turtles [ fd 1 stop fd 1 ]"
280  "A6C980CC9843CDD211ABD9C13899010D555F3DC5")
281
282 (defsimplecommandtest "turtles-here 1"
283  "crt 1000 ask turtles [ fd random-float 10 ] ask turtles [ set label [ who ] of one-of turtles-here ]"
284  "F34192513765D221A15D939A2BC8FFE18B6ADF4C")