Ejemplo n.º 1
0
    def test_white_chips(self):
        """Тестируем постановку белых фишек, и определения белых групп"""

        game = Game()
        self.move((450, 450), (6, 4), game, self.color_white)
        self.move((485, 450), (7, 4), game, self.color_white)
        self.move((520, 450), (8, 4), game, self.color_white)
        self.move((275, 275), (1, 9), game, self.color_white)
        self.move((555, 555), (9, 1), game, self.color_white)

        expected_white_groups = [[(6, 4), (7, 4), (8, 4)], [(1, 9)], [(9, 1)]]
        actual_white_groups = game.get_white_groups()

        self.assertEqual(actual_white_groups, expected_white_groups)
Ejemplo n.º 2
0
    def test_defender(self):
        """Тест защиты бота.
        Окружаем белую фишку тремя черными.
        Бот должен увеличить дыхания для данной фишки"""

        game = Game()
        self.move((380, 450), (4, 4), game, self.color_bot)

        self.move((345, 450), (3, 4), game, self.color)
        self.move((415, 450), (5, 4), game, self.color)
        self.move((380, 485), (4, 3), game, self.color)

        bot = SmartBot(game)
        response = bot.action()
        game.set_new_move()
        expected_white_groups = [[(4, 4), (4, 5)]]
        actual_white_groups = game.get_white_groups()
        self.assertEqual(actual_white_groups, expected_white_groups)
Ejemplo n.º 3
0
    def test_smart_attack(self):
        """Тест умной атаки.
        Белые и Черные фишки имеют достаточно дыханий и стоят рядом (>=3).
        Это самая частая ситуация в ГО. В данной ситуации нужно атаковать-защищать"""

        game = Game()
        self.move((275, 275), (1, 9), game, self.color)
        self.move((275, 310), (1, 8), game, self.color)
        self.move((275, 345), (1, 7), game, self.color)
        self.move((275, 380), (1, 6), game, self.color)

        self.move((310, 310), (2, 8), game, self.color_bot)

        bot = SmartBot(game)
        response = bot.action()
        game.set_new_move()

        expected_white_groups = [[(2, 8), (2, 7)]]
        actual_white_groups = game.get_white_groups()
        self.assertEqual(actual_white_groups, expected_white_groups)
Ejemplo n.º 4
0
    def test_white_black_chips(self):
        """Тестируем постановку фишек обоих цветов, и определения обоих групп"""

        game = Game()
        self.move((345, 380), (3, 6), game, self.color_white)
        self.move((310, 380), (2, 6), game, self.color_white)
        self.move((275, 380), (1, 6), game, self.color_white)
        self.move((380, 555), (4, 1), game, self.color_white)
        self.move((415, 555), (5, 1), game, self.color_white)

        self.move((380, 310), (4, 8), game, self.color_black)
        self.move((380, 310), (4, 8), game, self.color_black)
        self.move((310, 310), (2, 8), game, self.color_black)
        self.move((275, 310), (1, 8), game, self.color_black)

        expected_black_groups = [[(4, 8)], [(2, 8), (1, 8)]]
        actual_white_groups = game.get_white_groups()
        actual_black_groups = game.get_black_groups()
        expected_white_groups = [[(3, 6), (2, 6), (1, 6)], [(4, 1), (5, 1)]]
        self.assertEqual(actual_black_groups, expected_black_groups)
        self.assertEqual(actual_white_groups, expected_white_groups)
Ejemplo n.º 5
0
    def test_cold_war(self):
        """Тест: "не ввязываемся в борьбу".
        Черные фишки имеют много дыханий и стоят монолитно вдалеке от белых.
        Фишки бота (белые) имеют намного меньше дыхания. В данном случае они будут строить оборону
        на расстоянии (2-3клетки) от черных"""

        game = Game()
        self.move((380, 450), (4, 4), game, self.color)
        self.move((345, 450), (3, 4), game, self.color)
        self.move((380, 415), (4, 5), game, self.color)
        self.move((380, 485), (4, 3), game, self.color)
        self.move((380, 380), (4, 6), game, self.color)

        self.move((345, 310), (3, 8), game, self.color_bot)
        self.move((310, 310), (2, 8), game, self.color_bot)

        bot = SmartBot(game)
        for i in range(2):
            response = bot.action()
            game.set_new_move()
        expected_white_groups = [[(3, 8), (2, 8), (4, 8), (3, 9)]]
        actual_white_groups = game.get_white_groups()
        self.assertEqual(actual_white_groups, expected_white_groups)