Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.
Thomas edited this page May 7, 2020 · 30 revisions

Automatic tests

All of our automatic tests can be found in ../src/test/java/roborally.

Manual tests (while running the game)

General tests

  • When the game has started, verify that pressing ESC quits the game.

Menu tests

  • Verify that "Start New Game" starts a new game
  • When in a game, press M and verify that menu is visible again
  • When looking at the menu, during a game, verify that clicking "continue" will return to the game
  • Use cursor to click "Change Map" in the Menu, verify that "change map"-section is visible
  • Use cursor to click on arrows to look at different maps. Verify that visible map changes
  • In "Change map", decide a map, use cursor to click "Pick this map", and start the game. Verify that the selected map is used for the new game

Sound tests

  • In menu, press "Play a song", verify that a song plays
  • In menu, change volume, verify that game volume changes depending on your choice
  • Fire laser, verify laser sound
  • Move robots, verify movement sound

Optional settings tests

  • Change "Game Speed", verify that a round is played faster or slower, depending on your choice.
  • Change "Laser Speed", verify that lasers move faster or slower, depending on your choice.

FunMode tests

  • In the menu, Start New Game with "FunMode" set it to "On". Verify that board is filled with robots.
  • Start New Game with "FunMode" set it to "On", when already in a normal Game. Verify that board is filled with robots.
  • Start New Game with "FunMode" set it to "Off", when already in a FunMode Game. Verify that board has 8 robots.
  • A FunMode game should run as normal, only difference being many more robots.

Movement test

Please see the controls for movement.

  • Check that Robot moves as expected with arrow keys
  • Push other Robots around.
  • Check that your Robot cannot go outside game board (This will be changed later, because of the game rules).
  • Move Robot into wall to see if collision works.
  • Move into a stationary laser and verify that laser stop on the Robot.
  • Move out of a stationary laser and verify that laser reappears if the Robot was blocking it.
  • Push Robots into walls to see if collision works.
  • Push Robots outside of game bord, to see if they go outside

Robot's State changes

  • Check that you can push another Robot out of the map, Robot should be destroyed.
  • Check that you can push another Robot into holes, Robot should be destroyed.
  • Check that you can push another Robot onto flags and force check flag positions, SPACE. The Robot should now have updated its number of visited flags.

Robot's Texture changes

  • Push other Robots ontop of flags to see if their texture changes.
  • When your Robot is ontop of flags, check if their texture changes.
  • Push other Robots ontop of hole to see if their texture changes.
  • When your Robot is ontop of hole, check if their texture changes.

Laser tests

Please see the controls for combat

  • Check if lasers fire when looking in all four directions by pressing F.
  • Check if laser stops on Robots and walls.
  • Check that lasers cross each other fine.

Rebooting and archive marker test

  • When a Robot is destroyed, it should reboot to archiveMarker.
  • When a Robot have rebooted 3 times, it should be not able to reboot again. i.e. The robot must be destroyed four times for it to be out of the game.

Flags and winner tests

  • Move Robot to flag 1, press SPACE, check console print A flag has been visited appears.
    • Continue for the other flags in ascending order, pressing SPACE on each visist.
    • When all flags has been visited as explained above, the console should write a sentence telling you have visisted all flags.

Conveyor belt tests

  • For each direction
    • For both Normal conveyor belt and Express conveoyer bolt
      • Move a Robot onto on a conveyor belt, facing that direction
      • Press T to force one round (with one single phase)
      • Verify that the conveyor belt moves the robot in its direction
  • For each possible turn
    • For both Normal conveyor belt and Express conveoyer bolt
      • Move a Robot onto on a conveyor belt, next-to and before the turn we want to test.
      • Press T to force one round (with one single phase)
      • Verify that the conveyor belt moves the Robot onto the turn, and rotates the Robot 90 degrees in the direction of the turn
  • For each possible turn
    • For both Normal conveyor belt and Express conveoyer bolt
      • Move a Robot onto on a conveyor belt, onto the turn we want to test
      • Press T to force one round (with one single phase)
      • Verify that the conveyor belt moves the Robot to next conveyor belt, but does not rotates the Robot.

Cog tests

  • Move a Robot onto on a Clockwise turning cog
    • Press T to force one round (with one single phase)
    • Verify that the cog rotates the robot clockwise
  • Move a Robot onto on a Counter-clockwise turning cog
    • Press T to force one round (with one single phase)
    • Verify that the cog rotates the robot counter-clockwise

Programming cards tests

  • Press ENTER to verify that the programming cards becomes visible on the screen
  • Using the cursor, press a programming card and verify a visual indication for the cards position in the register
  • Try to select six programming cards and verify that this is not possible
  • Press "Done" to trigger the next round to play
    • Do this test for several rounds, such that all cards are tested.
      • Move 1
      • Move 2
      • Move 3
      • Rotate Left
      • Rotate Right
      • U-Turn
      • Move backwards 1
    • Verify that your robot moves and rotates according to the cards you selected, in order.
    • Verify that the number of cards on your hand is dependant on your robots health.
    • Verify that can only play a number of cards equal to the minimum of (5, 9-number of damage tokens)
Clone this wiki locally