def test_does_south_traversal_allow_valid_move(self): r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - b w - - - - - - - - - - - - - - - - - - - - - - - - - - - ''') moves_valid_for_south_traversal = {'D3'} moves_invalid_for_south_traversal = self.all_moves - moves_valid_for_south_traversal for move in moves_valid_for_south_traversal: self.assertTrue(r.is_traversal_valid_for('south', 'b', move), 'error for position: ' + move) for move in moves_invalid_for_south_traversal: self.assertFalse(r.is_traversal_valid_for('south', 'b', move), 'error for position: ' + move) r = Reversi(''' - - - - - - - - - - - w - - - - - - w w w - - - - - - w w - - - - - - w w - - - - - - w b b b - - - - w b - - - - - - b - - - - ''') self.assertTrue(r.is_traversal_valid_for('south', 'b', 'D1'))
def test_does_west_traversal_allow_valid_move(self): r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - b w - - - - - - - - - - - - - - - - - - - - - - - - - - - ''') moves_valid_for_west_traversal = {'F5'} moves_invalid_for_west_traversal = self.all_moves - moves_valid_for_west_traversal for move in moves_valid_for_west_traversal: self.assertTrue(r.is_traversal_valid_for('west', 'b', move), 'error for position: ' + move) for move in moves_invalid_for_west_traversal: self.assertFalse(r.is_traversal_valid_for('west', 'b', move), 'error for position: ' + move) r = Reversi(''' - - - - - - - - - - - - - - - - - - w b w - - - - - w w b b - - - - w b b w - - b - b b w w - - b w w w - - - - b - - - - - - - ''') self.assertFalse(r.is_traversal_valid_for('west', 'w', 'B6'))
def test_does_north_west_traversal_allow_valid_move(self): r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - b w - - - - - - - - - - - - - - - - - - - - - - - - - - - ''') moves_invalid_for_north_west_traversal = self.all_moves for move in moves_invalid_for_north_west_traversal: self.assertFalse(r.is_traversal_valid_for('north_west', 'b', move), 'error for position: ' + move) r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - b b b - - - - - - b b - - - - - - w w w - - - - - - - - - - - - - - - - - - ''') moves_valid_for_north_west_traversal = {'F7', 'G7'} moves_invalid_for_north_west_traversal = self.all_moves - moves_valid_for_north_west_traversal for move in moves_valid_for_north_west_traversal: self.assertTrue(r.is_traversal_valid_for('north_west', 'b', move), 'error for position: ' + move) for move in moves_invalid_for_north_west_traversal: self.assertFalse(r.is_traversal_valid_for('north_west', 'b', move), 'error for position: ' + move)
def test_does_north_east_traversal_allow_valid_move(self): r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - b w - - - - - - - - - - - - - - - - - - - - - - - - - - - ''') moves_invalid_for_north_east_traversal = self.all_moves for move in moves_invalid_for_north_east_traversal: self.assertFalse(r.is_traversal_valid_for('north_east', 'b', move), 'error for position: ' + move) r = Reversi(''' - - - - - - - - - - - w - - - - - - w w w w - - - b b w w b - - - - w w w - - - - b w - - - - - - - - - - - - - - - - - - - - - ''') moves_valid_for_north_east_traversal = {'D6'} moves_invalid_for_north_east_traversal = self.all_moves - moves_valid_for_north_east_traversal for move in moves_valid_for_north_east_traversal: self.assertTrue(r.is_traversal_valid_for('north_east', 'b', move), 'error for position: ' + move) for move in moves_invalid_for_north_east_traversal: self.assertFalse(r.is_traversal_valid_for('north_east', 'b', move), 'error for position: ' + move) r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - w b b - - - - - w - - - - - - - - - - - - - - - - - - - - ''') self.assertTrue(r.is_traversal_valid_for('north_east', 'b', 'C7')) r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - b b b b - - - - - w - - - - - - - - - - - - - - - - - - - - ''') self.assertFalse(r.is_traversal_valid_for('north_east', 'b', 'C6')) r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - b b b b - - - - - w - - - - - - - - - - - - - - - - - - - - ''') self.assertFalse(r.is_traversal_valid_for('north_east', 'b', 'A7')) r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - w w w w - - - - b - - - - - - b - - - - - - - - - - - - - ''') self.assertTrue(r.is_traversal_valid_for('north_east', 'w', 'B8')) r = Reversi(''' - - - - - - - - - - - - - - - - - - - - - - - - - - - w b - - - - - - b w - - - - - - - - - - - - - - - - - - - - - - - - - - - ''') self.assertFalse(r.is_traversal_valid_for('north_east', 'w', 'A6'))