Ejemplo n.º 1
0
	def test_move_wrong_piece_to_dest(self):
		''''Test requesting moving a wrong piece to a destination cell.

		'''

		#Setup board with a two white pawns:
		board = Board()
		pawn1 = Pawn(board.white)
		pawn2 = Pawn(board.white)

		board[0, 4].piece = King(board.black)
		board[7, 4].piece = King(board.white)

		col1, col2, row = 1, 3, 5

		board[col1, row].piece = pawn1
		board[col2, row].piece = pawn2

		#Simulate BoardController:
		selected_cell = board[col1, row]
		#board.on_cell_selected(selected_cell)

		#Preconditions:
		self.assertTrue(board.can_move_piece_in_cell_to(selected_cell,
												  (col1, row-1)))

		#Try moving pawn2 to the destination for pawn1:
		self.assertFalse(board.can_move_piece_in_cell_to(board[col2,row],
												   (col1, row-1)))
		self.assertRaises(MoveError, board.move_piece_in_cell_to,
					pawn2.owner, (col2,row), (col1, row-1))
Ejemplo n.º 2
0
	def test_move_piece_in_cell_to_dest(self):
		'''Test moving a piece in a selected cell to a given destination.

		This method evaluates performing moves on the board in the same way the
		BoardController class does.

		'''

		#Setup board with a white pawn at start position (1,6)
		board = Board()
		pawn = Pawn(board.white)

		board[0, 4].piece = King(board.black)
		board[7, 4].piece = King(board.white)

		col, row = 1, 6

		board[col, row].piece = pawn

		#Simulate BoardController:
		selected_cell = board[col, row]
		#board.on_cell_selected(selected_cell)

		#Preconditions:
		self.assertTrue(board.can_move_piece_in_cell_to(selected_cell,
												  (col, row-1)))
		self.assertTrue(board.can_move_piece_in_cell_to(selected_cell,
												  (col, row-2)))

		#Check whether cells are aware of the moves that take pieces to them
		#self.assertTrue(len(board[col, row-1].moves) == 1)
		#self.assertTrue(len(board[col, row-2].moves) == 1)

		#Perform movement:
		board.move_piece_in_cell_to(pawn.owner, (col, row), (col, row-1))

		#Check whether cells have been clean
		self.assertTrue(len(board[col, row-1].moves) == 0)
		self.assertTrue(len(board[col, row-2].moves) == 0)