def test_queen_ranges(coords, queen): # noqa: D103 queen.position = Position(*coords) exp_ranges = chain(diagonal(queen), horizontal(queen), vertical(queen)) assert sorted(queen.move_range) == sorted(queen.attack_range) assert sorted(exp_ranges) == sorted(queen.move_range)
def move_range(self): """Get a move range for king.""" hor = horizontal(self, 2) ver = vertical(self, 2) diag = diagonal(self, 4) return list(hor) + list(ver) + list(diag)
def test_king_ranges(coords, king): # noqa: D103 king.position = Position(*coords) exp_ranges = chain(diagonal(king, 4), horizontal(king, 2), vertical(king, 2)) assert sorted(king.move_range) == sorted(king.attack_range) assert sorted(exp_ranges) == sorted(king.move_range)
def move_range(self): """Get a move range for bishop.""" return list(diagonal(self)) + super(Bishop, self).move_range
def test_bishop_ranges(coords, bishop): # noqa: D103 bishop.position = Position(*coords) assert sorted(bishop.move_range) == sorted(bishop.attack_range) assert sorted(diagonal(bishop)) == sorted(bishop.move_range)