Exemplo n.º 1
0
 def test_can_place_worker_twice(self):
     """Base case for placing a worker at the start of a game."""
     board = Board()
     self.assertTrue(
         rulechecker.can_place_worker(board, self.workers[0], (0, 0)))
     board.place_worker(self.workers[0], (0, 0))
     self.assertFalse(
         rulechecker.can_place_worker(board, self.workers[0], (0, 0)))
     self.assertFalse(
         rulechecker.can_place_worker(board, self.workers[0], (4, 4)))
Exemplo n.º 2
0
 def _valid_placement(self, placement, board):
     """Checks whether a given placement is valid
     :param Placement placement: placement to validate
     :param Board board: the board to validate against
     :raises PlayerInvalidPlacement: if placement is not valid
     """
     worker, position = placement
     if not rulechecker.can_place_worker(board, worker, position):
         raise PlayerInvalidPlacement("")
Exemplo n.º 3
0
 def test_can_place_worker_on_worker(self):
     """Case for placing a worker onto another worker."""
     board = Board(
         workers={
             self.workers[0]: (0, 0),
             self.workers[1]: (0, 1),
             self.workers[2]: (0, 2)
         })
     self.assertFalse(
         rulechecker.can_place_worker(board, Worker("player2", 2), (0, 1)))
Exemplo n.º 4
0
 def test_can_place_five_workers(self):
     """Case for placing more than 4 workers."""
     board = Board(
         [[0, 1, 2, 3, 4, 0]], {
             self.workers[0]: (0, 0),
             self.workers[1]: (0, 1),
             self.workers[2]: (0, 2),
             self.workers[3]: (0, 3)
         })
     self.assertFalse(
         rulechecker.can_place_worker(board, Worker("player3", 2), (0, 5)))
Exemplo n.º 5
0
 def test_can_place_worker_off_board(self):
     """Case for placing a worker outside of the board boundaries."""
     board = Board()
     self.assertFalse(
         rulechecker.can_place_worker(board, self.workers[0], (-1, -1)))