示例#1
0
文件: test_game.py 项目: iffy/boom
 def test_illegal_moves(self):
     """
     Pawns can only move into EMPTY tiles.  Can't move into
     bombs, HARD, SOFT or off the board.
     """
     board, clock = bnc()
     board.generate(3,3)
     pawn = Pawn()
     board.insertPawn((0,0), pawn)
     
     # off the board
     self.assertRaises(IllegalMove, pawn.move, 'l')
     self.assertRaises(IllegalMove, pawn.move, 'u')
     
     pawn.move('d')
     self.assertEqual(pawn.loc, (0,1))
     
     # HARD
     self.assertRaises(IllegalMove, pawn.move, 'r')
     # SOFT
     self.assertRaises(IllegalMove, pawn.move, 'd')
     
     pawn.dropBomb()
     pawn.move('u')
     
     # on bomb
     self.assertRaises(IllegalMove, pawn.move, 'd')
示例#2
0
文件: test_game.py 项目: iffy/boom
 def test_dropBomb_bomb(self):
     """
     You can't drop a bomb on a tile that already has a bomb.
     """
     board, clock = bnc()
     board.generate(5,5)
     
     pawn = Pawn()
     pawn.bombs = 2
     board.insertPawn((0,0), pawn)
     pawn.dropBomb()
     self.assertRaises(IllegalMove, pawn.dropBomb)
     self.assertEqual(pawn.bombs, 1, "Should still have one")
示例#3
0
文件: test_game.py 项目: iffy/boom
 def test_dropBomb(self):
     """
     You can drop bombs on the board, which uses up one of the
     bombs until it explodes.
     """
     board, clock = bnc()
     board.generate(5,5)
     pawn = Pawn()
     pawn.fuse = 3
     
     board.insertPawn((0,0), pawn)
     pawn.dropBomb()
     self.assertEqual(pawn.bombs, 0, "Should use up a bomb")
     self.assertTrue((0,0) in board.bombs, "Bomb should be on"
                     " the board")
     clock.advance(3)
     self.assertEqual(pawn.bombs, 1, "Should get the bomb back")
     self.assertFalse((0,0) in board.bombs)