def test_board_remove_piece(self):
		board = Board(size = 2)
		origin = Position(0,0)
		foo = Foo()
		board.place_piece(origin, foo)
		self.assertEqual(board.remove_piece(origin), foo)
		self.assertIsNone(board.piece_at(origin))
	def test_board_creation(self):
		board = Board(size = 2)
		self.assertEqual(board.size(), 2)
		positions = [Position(0, 0), Position(0, 1), Position(1, 0), Position(0, 0)]
		for p in positions:
			self.assertIsNone(board.piece_at(p))
	def test_board_place_piece(self):
		board = Board(size = 2)
		origin = Position(0, 0)
		foo = Foo()
		board.place_piece(position = origin, piece = foo)
		self.assertEqual(board.piece_at(origin), foo)
	def test_board_piece_at(self):
		board = Board(size = 2)
		foo = Foo()
		board._board[0] = foo
		self.assertEqual(board.piece_at(Position(0, 0)), foo)