]> git.draconx.ca Git - rrace.git/blob - tests/game.at
b607cf67e39d695de2b0d7ca5e39fc4c4187f5ce
[rrace.git] / tests / game.at
1 # Copyright © 2022 Nick Bowler
2 #
3 # This program is free software: you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation, either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
15
16 AT_SETUP([board bitmap functions])
17
18 AT_CHECK([boardbit], [0],
19 [[left(0)     left(1)     left(2)     left(3)     left(4)
20  @....       @@...       @@@..       @@@@.       @@@@@
21  @....       @@...       @@@..       @@@@.       @@@@@
22  @....       @@...       @@@..       @@@@.       @@@@@
23  @....       @@...       @@@..       @@@@.       @@@@@
24  @....       @@...       @@@..       @@@@.       @@@@@
25
26 right(0)    right(1)    right(2)    right(3)    right(4)
27  @@@@@       .@@@@       ..@@@       ...@@       ....@
28  @@@@@       .@@@@       ..@@@       ...@@       ....@
29  @@@@@       .@@@@       ..@@@       ...@@       ....@
30  @@@@@       .@@@@       ..@@@       ...@@       ....@
31  @@@@@       .@@@@       ..@@@       ...@@       ....@
32
33 above(0)    above(1)    above(2)    above(3)    above(4)
34  @@@@@       @@@@@       @@@@@       @@@@@       @@@@@
35  .....       @@@@@       @@@@@       @@@@@       @@@@@
36  .....       .....       @@@@@       @@@@@       @@@@@
37  .....       .....       .....       @@@@@       @@@@@
38  .....       .....       .....       .....       @@@@@
39
40 below(0)    below(1)    below(2)    below(3)    below(4)
41  @@@@@       .....       .....       .....       .....
42  @@@@@       @@@@@       .....       .....       .....
43  @@@@@       @@@@@       @@@@@       .....       .....
44  @@@@@       @@@@@       @@@@@       @@@@@       .....
45  @@@@@       @@@@@       @@@@@       @@@@@       @@@@@
46 ]])
47
48 AT_CLEANUP
49
50 AT_SETUP([game_do_move zigzag])
51
52 AT_CHECK([boardmove m4_do(
53   [0010203040],
54   [4131211101],
55   [0212223242],
56   [4333231303],
57   [0414243444])], [0],
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 @@.@@
164 @@@@@
165
166 @@@@@
167 @@@@@
168 @@@@@
169 @.@@@
170 @@@@@
171
172 @@@@@
173 @@@@@
174 @@@@@
175 .@@@@
176 @@@@@
177
178 @@@@@
179 @@@@@
180 @@@@@
181 @@@@@
182 .@@@@
183
184 @@@@@
185 @@@@@
186 @@@@@
187 @@@@@
188 @.@@@
189
190 @@@@@
191 @@@@@
192 @@@@@
193 @@@@@
194 @@.@@
195
196 @@@@@
197 @@@@@
198 @@@@@
199 @@@@@
200 @@@.@
201
202 @@@@@
203 @@@@@
204 @@@@@
205 @@@@@
206 @@@@.
207 ]])
208
209 AT_CLEANUP
210
211 AT_SETUP([game_do_move vertical])
212
213 AT_CHECK([boardmove m4_do(
214   [020103000402],
215   [121311141012],
216   [222123202422],
217   [323331343032],
218   [424143404442])], [0],
219 [[@@@@@
220 @@@@@
221 .@@@@
222 @@@@@
223 @@@@@
224
225 @@@@@
226 .@@@@
227 @@@@@
228 @@@@@
229 @@@@@
230
231 @@@@@
232 @@@@@
233 @@@@@
234 .@@@@
235 @@@@@
236
237 .@@@@
238 @@@@@
239 @@@@@
240 @@@@@
241 @@@@@
242
243 @@@@@
244 @@@@@
245 @@@@@
246 @@@@@
247 .@@@@
248
249 @@@@@
250 @@@@@
251 .@@@@
252 @@@@@
253 @@@@@
254
255 @@@@@
256 @@@@@
257 @.@@@
258 @@@@@
259 @@@@@
260
261 @@@@@
262 @@@@@
263 @@@@@
264 @.@@@
265 @@@@@
266
267 @@@@@
268 @.@@@
269 @@@@@
270 @@@@@
271 @@@@@
272
273 @@@@@
274 @@@@@
275 @@@@@
276 @@@@@
277 @.@@@
278
279 @.@@@
280 @@@@@
281 @@@@@
282 @@@@@
283 @@@@@
284
285 @@@@@
286 @@@@@
287 @.@@@
288 @@@@@
289 @@@@@
290
291 @@@@@
292 @@@@@
293 @@.@@
294 @@@@@
295 @@@@@
296
297 @@@@@
298 @@.@@
299 @@@@@
300 @@@@@
301 @@@@@
302
303 @@@@@
304 @@@@@
305 @@@@@
306 @@.@@
307 @@@@@
308
309 @@.@@
310 @@@@@
311 @@@@@
312 @@@@@
313 @@@@@
314
315 @@@@@
316 @@@@@
317 @@@@@
318 @@@@@
319 @@.@@
320
321 @@@@@
322 @@@@@
323 @@.@@
324 @@@@@
325 @@@@@
326
327 @@@@@
328 @@@@@
329 @@@.@
330 @@@@@
331 @@@@@
332
333 @@@@@
334 @@@@@
335 @@@@@
336 @@@.@
337 @@@@@
338
339 @@@@@
340 @@@.@
341 @@@@@
342 @@@@@
343 @@@@@
344
345 @@@@@
346 @@@@@
347 @@@@@
348 @@@@@
349 @@@.@
350
351 @@@.@
352 @@@@@
353 @@@@@
354 @@@@@
355 @@@@@
356
357 @@@@@
358 @@@@@
359 @@@.@
360 @@@@@
361 @@@@@
362
363 @@@@@
364 @@@@@
365 @@@@.
366 @@@@@
367 @@@@@
368
369 @@@@@
370 @@@@.
371 @@@@@
372 @@@@@
373 @@@@@
374
375 @@@@@
376 @@@@@
377 @@@@@
378 @@@@.
379 @@@@@
380
381 @@@@.
382 @@@@@
383 @@@@@
384 @@@@@
385 @@@@@
386
387 @@@@@
388 @@@@@
389 @@@@@
390 @@@@@
391 @@@@.
392
393 @@@@@
394 @@@@@
395 @@@@.
396 @@@@@
397 @@@@@
398 ]])
399
400 AT_CLEANUP
401
402 AT_SETUP([game_do_move horizontal])
403
404 AT_CHECK([boardmove m4_do(
405   [203010400020],
406   [211131014121],
407   [223212420222],
408   [231333034323],
409   [243414440424])], [0],
410 [[@@.@@
411 @@@@@
412 @@@@@
413 @@@@@
414 @@@@@
415
416 @@@.@
417 @@@@@
418 @@@@@
419 @@@@@
420 @@@@@
421
422 @.@@@
423 @@@@@
424 @@@@@
425 @@@@@
426 @@@@@
427
428 @@@@.
429 @@@@@
430 @@@@@
431 @@@@@
432 @@@@@
433
434 .@@@@
435 @@@@@
436 @@@@@
437 @@@@@
438 @@@@@
439
440 @@.@@
441 @@@@@
442 @@@@@
443 @@@@@
444 @@@@@
445
446 @@@@@
447 @@.@@
448 @@@@@
449 @@@@@
450 @@@@@
451
452 @@@@@
453 @.@@@
454 @@@@@
455 @@@@@
456 @@@@@
457
458 @@@@@
459 @@@.@
460 @@@@@
461 @@@@@
462 @@@@@
463
464 @@@@@
465 .@@@@
466 @@@@@
467 @@@@@
468 @@@@@
469
470 @@@@@
471 @@@@.
472 @@@@@
473 @@@@@
474 @@@@@
475
476 @@@@@
477 @@.@@
478 @@@@@
479 @@@@@
480 @@@@@
481
482 @@@@@
483 @@@@@
484 @@.@@
485 @@@@@
486 @@@@@
487
488 @@@@@
489 @@@@@
490 @@@.@
491 @@@@@
492 @@@@@
493
494 @@@@@
495 @@@@@
496 @.@@@
497 @@@@@
498 @@@@@
499
500 @@@@@
501 @@@@@
502 @@@@.
503 @@@@@
504 @@@@@
505
506 @@@@@
507 @@@@@
508 .@@@@
509 @@@@@
510 @@@@@
511
512 @@@@@
513 @@@@@
514 @@.@@
515 @@@@@
516 @@@@@
517
518 @@@@@
519 @@@@@
520 @@@@@
521 @@.@@
522 @@@@@
523
524 @@@@@
525 @@@@@
526 @@@@@
527 @.@@@
528 @@@@@
529
530 @@@@@
531 @@@@@
532 @@@@@
533 @@@.@
534 @@@@@
535
536 @@@@@
537 @@@@@
538 @@@@@
539 .@@@@
540 @@@@@
541
542 @@@@@
543 @@@@@
544 @@@@@
545 @@@@.
546 @@@@@
547
548 @@@@@
549 @@@@@
550 @@@@@
551 @@.@@
552 @@@@@
553
554 @@@@@
555 @@@@@
556 @@@@@
557 @@@@@
558 @@.@@
559
560 @@@@@
561 @@@@@
562 @@@@@
563 @@@@@
564 @@@.@
565
566 @@@@@
567 @@@@@
568 @@@@@
569 @@@@@
570 @.@@@
571
572 @@@@@
573 @@@@@
574 @@@@@
575 @@@@@
576 @@@@.
577
578 @@@@@
579 @@@@@
580 @@@@@
581 @@@@@
582 .@@@@
583
584 @@@@@
585 @@@@@
586 @@@@@
587 @@@@@
588 @@.@@
589 ]])
590
591 AT_CLEANUP
592
593 AT_SETUP([xoshiro256** sanity])
594
595 AT_CHECK([rng-test >out
596 grep -v '^ok' out], [0], [1..200
597 ])
598
599 AT_CLEANUP