Software Construction Assignment 4: Test suites

Due: April 24, 2018 @ 10pm. Please include a README.txt that has both partners' names and email addresses.

Experience suggests that you may have neglected testing when you completed assignment 3. So, for this assignment, your task is to improve (or, heaven forfend, implement...) test suite infrastructure and test suites for the previous assignment. Continue also to improve and work towards completing the implementation of assignment 3.

Implementing the rules of Tsuro is subtle. Below are some situations that you should turn into test cases for your rules infrastructure.

Also add test cases based on your own experience implementing the game and the particular details of your representation of the game state.

Moving tests

  • making a move from the edge
  • making a move that causes a token to cross multiple tiles
  • making a move where multiple players move at once
  • making a move where multiple players are eliminated
  • making a move where the tile is not placed in its original position (i.e., it is rotated)
  • making an illegal move, specifically where the move is an elimination move, but there are non-elimination moves available

Dragon tile

  • moving where no player has the dragon tile before or after
  • moving where one player has the dragon tile before and no one gets any new tiles
  • moving where the player that has the dragon tile makes a move that causes an elimination (of another player)
  • moving where a player that does not have the dragon tile makes a move and it causes an elimination of the player that has the dragon tile
  • moving where the player that has the dragon tile makes a move that causes themselves to be eliminated


Software Construction