X-Git-Url: https://git.draconx.ca/gitweb/rrace.git/blobdiff_plain/30f49b9152dcf5ce7baefa9287b0ec627155fba9..a70b0ef8bf7cb26cc779e9b2da480295f5ebf2bd:/tests/game.at diff --git a/tests/game.at b/tests/game.at index 9cfc7af..610b066 100644 --- a/tests/game.at +++ b/tests/game.at @@ -1,3 +1,54 @@ +# Copyright © 2022-2023 Nick Bowler +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([board bitmap functions]) + +AT_CHECK([boardbit], [0], +[[left(0) left(1) left(2) left(3) left(4) + @.... @@... @@@.. @@@@. @@@@@ + @.... @@... @@@.. @@@@. @@@@@ + @.... @@... @@@.. @@@@. @@@@@ + @.... @@... @@@.. @@@@. @@@@@ + @.... @@... @@@.. @@@@. @@@@@ + +right(0) right(1) right(2) right(3) right(4) + @@@@@ .@@@@ ..@@@ ...@@ ....@ + @@@@@ .@@@@ ..@@@ ...@@ ....@ + @@@@@ .@@@@ ..@@@ ...@@ ....@ + @@@@@ .@@@@ ..@@@ ...@@ ....@ + @@@@@ .@@@@ ..@@@ ...@@ ....@ + +above(0) above(1) above(2) above(3) above(4) + @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ + ..... @@@@@ @@@@@ @@@@@ @@@@@ + ..... ..... @@@@@ @@@@@ @@@@@ + ..... ..... ..... @@@@@ @@@@@ + ..... ..... ..... ..... @@@@@ + +below(0) below(1) below(2) below(3) below(4) + @@@@@ ..... ..... ..... ..... + @@@@@ @@@@@ ..... ..... ..... + @@@@@ @@@@@ @@@@@ ..... ..... + @@@@@ @@@@@ @@@@@ @@@@@ ..... + @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ +]]) + +AT_CLEANUP + +TEST_TAP_SIMPLE([board_rect], [boardrect], [], [board]) + AT_SETUP([game_do_move zigzag]) AT_CHECK([boardmove m4_do( @@ -548,3 +599,56 @@ grep -v '^ok' out], [0], [1..200 ]) AT_CLEANUP + +AT_SETUP([game_check_goal]) + +AT_DATA([boards.dat], +[[0 0 0 0 0 0 +1f8c63f 1f8c63f 1f8c63f 0000 0000 0000 +1f8c63f 1f8c63f 1f8c63f ffff 0000 0000 +1f8c63f 1f8c63f 1f8c63f 0000 ffff 0000 +1f8c63f 1f8c63f 1f8c63f 0000 0000 ffff +00739c0 1f8c63f 1f8c63f ffff 0000 0000 +1f8c63f 00739c0 1f8c63f 0000 ffff 0000 +1f8c63f 1f8c63f 00739c0 0000 0000 ffff +0000000 0000000 0000000 0001 0020 0400 +]]) + +AT_DATA([expout], +[[00000 +00000 +739c0 +739c0 +739c0 +00000 +00000 +00000 +10840 +]]) + +AT_CHECK([checkgoal result.dat && cat result.dat], [0], [expout]) + +AT_CLEANUP + +AT_SETUP([game_overlay_goal]) + +AT_DATA([boards.dat], [dnl +0 0 0 0 0 0 +0 0 0 -1 0 0 +0 0 0 0 -1 0 +0 0 0 0 0 -1 +1ffffff 1ffffff 1ffffff 0 0 0 +]) + +AT_DATA([expout], [dnl +0000000 0000000 0000000 +00739c0 0000000 0000000 +0000000 00739c0 0000000 +0000000 0000000 00739c0 +1f8c63f 1f8c63f 1f8c63f +]) + +AT_CHECK([overlaygoal result.dat && cat result.dat], + [0], [expout]) + +AT_CLEANUP