def test_game(self):

        test_start = (
            """ ######
                #0 . #
                #.. 1#
                ###### """)

        number_bots = 2

        # The problem here is that the layout does not allow us to specify a
        # different inital position and current position. When testing universe
        # equality by comparing its string representation, this does not matter.
        # But if we want to compare using the __eq__ method, but specify the
        # target as ascii encoded maze/layout we need to convert the layout to a
        # CTFUniverse and then modify the initial positions. For this we define
        # a closure here to quickly generate a target universe to compare to.
        # Also we adapt the score, in case food has been eaten

        def create_TestUniverse(layout, black_score=0, white_score=0):
            initial_pos = [(1, 1), (4, 2)]
            universe = CTFUniverse.create(layout, number_bots)
            universe.teams[0].score = black_score
            universe.teams[1].score = white_score
            for i, pos in enumerate(initial_pos):
                universe.bots[i].initial_pos = pos
            if not universe.food_list in (1, 2):
                universe.teams[1].score += 1
            if not (2, 2) in universe.food_list:
                universe.teams[1].score += 1
            if not (3, 1) in universe.food_list:
                universe.teams[0].score += 1
            return universe


        teams = [SimpleTeam(TestPlayer('>-v>>>')), SimpleTeam(TestPlayer('<<-<<<'))]
        gm = GameMaster(test_start, teams, number_bots, 200)

        gm.set_initial()
        gm.play_round()
        test_first_round = (
            """ ######
                # 0. #
                #..1 #
                ###### """)
        self.assertEqual(create_TestUniverse(test_first_round), gm.universe)

        gm.play_round()
        test_second_round = (
            """ ######
                # 0. #
                #.1  #
                ###### """)
        self.assertEqual(create_TestUniverse(test_second_round), gm.universe)

        gm.play_round()
        test_third_round = (
            """ ######
                #  . #
                #.0 1#
                ###### """)
        self.assertEqual(create_TestUniverse(test_third_round,
            black_score=gm.universe.KILLPOINTS), gm.universe)

        gm.play_round()
        test_fourth_round = (
            """ ######
                #0 . #
                #. 1 #
                ###### """)
        self.assertEqual(create_TestUniverse(test_fourth_round,
            black_score=gm.universe.KILLPOINTS, white_score=gm.universe.KILLPOINTS), gm.universe)

        gm.play_round()
        test_fifth_round = (
            """ ######
                # 0. #
                #.1  #
                ###### """)
        self.assertEqual(create_TestUniverse(test_fifth_round,
            black_score=gm.universe.KILLPOINTS, white_score=gm.universe.KILLPOINTS), gm.universe)

        print(gm.universe.pretty)
        gm.play_round()
        test_sixth_round = (
            """ ######
                #  0 #
                #1   #
                ###### """)
        print(gm.universe.pretty)
        self.assertEqual(create_TestUniverse(test_sixth_round,
            black_score=gm.universe.KILLPOINTS, white_score=gm.universe.KILLPOINTS), gm.universe)

        teams = [SimpleTeam(TestPlayer('>-v>>>')), SimpleTeam(TestPlayer('<<-<<<'))]
        # now play the full game
        gm = GameMaster(test_start, teams, number_bots, 200)
        gm.play()
        test_sixth_round = (
            """ ######
                #  0 #
                #1   #
                ###### """)
        self.assertEqual(create_TestUniverse(test_sixth_round,
            black_score=gm.universe.KILLPOINTS, white_score=gm.universe.KILLPOINTS), gm.universe)
dataset/ETHPy150Open ASPP/pelita/test/test_game_master.py/TestGame.test_game/swapped operands of `in`