Exemplo n.º 1
0
    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'))
Exemplo n.º 2
0
    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'))
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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'))