Пример #1
0
    def test_parse_buildings(self):
        credentials = init_credentials(
            '../configs/credentials_static_cookies.json')

        own_uid = credentials.get_own_uid()
        account = Account(own_uid)
        account.update_villages(credentials)

        village = account.villages[0]
        village.force_update(credentials)
        expected = "Buildings([Building((Empty place - lvl:0 id:0)), Building((Woodcutter - lvl:0 id:1)), Building((" \
                   "Cropland - lvl:0 id:2)), Building((Woodcutter - lvl:2 id:3)), Building((Iron Mine - lvl:0 id:4)), " \
                   "Building((Clay Pit - lvl:0 id:5)), Building((Clay Pit - lvl:4 id:6)), Building((Iron Mine - lvl:0 " \
                   "id:7)), Building((Cropland - lvl:0 id:8)), Building((Cropland - lvl:0 id:9)), Building((Iron Mine " \
                   "- lvl:0 id:10)), Building((Iron Mine - lvl:0 id:11)), Building((Cropland - lvl:0 id:12)), " \
                   "Building((Cropland - lvl:0 id:13)), Building((Woodcutter - lvl:0 id:14)), Building((Cropland - " \
                   "lvl:3 id:15)), Building((Clay Pit - lvl:0 id:16)), Building((Woodcutter - lvl:0 id:17)), " \
                   "Building((Clay Pit - lvl:0 id:18)), Building((Warehouse - lvl:1 id:19)), Building((Granary - " \
                   "lvl:1 id:20)), Building((Empty place - lvl:0 id:21)), Building((Empty place - lvl:0 id:22)), " \
                   "Building((Empty place - lvl:0 id:23)), Building((Empty place - lvl:0 id:24)), Building((Empty " \
                   "place - lvl:0 id:25)), Building((Main Building - lvl:3 id:26)), Building((Empty place - lvl:0 " \
                   "id:27)), Building((Empty place - lvl:0 id:28)), Building((Empty place - lvl:0 id:29)), " \
                   "Building((Empty place - lvl:0 id:30)), Building((Empty place - lvl:0 id:31)), Building((Empty " \
                   "place - lvl:0 id:32)), Building((Empty place - lvl:0 id:33)), Building((Empty place - lvl:0 " \
                   "id:34)), Building((Empty place - lvl:0 id:35)), Building((Empty place - lvl:0 id:36)), " \
                   "Building((Empty place - lvl:0 id:37)), Building((Empty place - lvl:0 id:38)), Building((Rally " \
                   "Point - lvl:0 id:39)), Building((Empty place - lvl:0 id:0))]) "

        assert_str(village.buildings, expected)
Пример #2
0
    def test_account_from_profile_page(self):
        credentials = init_credentials('./tests/configs/credentials_static_cookies.json')

        # Get Multi hunter account
        account = Account(uid=1)

        # Test double update
        account.update_villages(credentials)
        account.update_villages(credentials)

        assert_str(account.villages, "['Multihunter (0,0)']")
Пример #3
0
    def test_broadcast_finished_events(self):
        credentials = init_credentials(
            './tests/configs/credentials_dynamic_login.json')

        own_uid = credentials.get_own_uid()
        account = Account(own_uid)
        account.update_villages(credentials)

        village = account.get_village_by_vid(4207)
        village.force_update(credentials)

        assert construct_building(credentials, village, 32, Building.cranny)
        assert upgrade_building(credentials, village, 32)
        b = village.buildings[32]
        assert_str(b, 'Building((Cranny - lvl:0+2 id:32))')

        actions_left = 6
        num_times_sleep = 0
        time_granularity = 0.1
        while actions_left > 0:
            num = account.events.broadcast_finished_events()
            if num:
                assert_eq(num, 1)
                actions_left -= 1
                village.force_update(credentials)

                if actions_left == 5:
                    assert_str(b, 'Building((Cranny - lvl:1+1 id:32))')
                if actions_left == 4:
                    assert_str(b, 'Building((Cranny - lvl:2 id:32))')
                    demolish_building(credentials, village, 32)
                if actions_left == 3:
                    assert_str(b, 'Building((Cranny - lvl:1 id:32))')
                    demolish_building(credentials, village, 32)
                if actions_left == 2:
                    assert_str(b, 'Building((Empty place - lvl:0 id:32))')
                    assert construct_building(credentials, village, 32,
                                              Building.cranny)
                if actions_left == 1:
                    assert_str(b, 'Building((Cranny - lvl:1 id:32))')
                    demolish_building(credentials, village, 32)
                if actions_left == 0:
                    assert_str(b, 'Building((Empty place - lvl:0 id:32))')

            time.sleep(time_granularity)
            num_times_sleep += 1

        # Assert time to complete, for a relative benchmark
        assert_lt(num_times_sleep * time_granularity, 18.0)
Пример #4
0
    def test_celebration_events(self):
        credentials = init_credentials(
            './tests/configs/credentials_dynamic_login.json')

        own_uid = credentials.get_own_uid()
        account = Account(own_uid)
        account.update_villages(credentials)

        village = account.get_village_by_vid(4007)
        village.force_update(credentials)

        host_celebration(credentials, village, Celebration.small)

        evq = account.events
        found = False

        for event in evq.queue:
            if event.event_type == EventQueue.CelebrationCompleted and event.village.vid == village.vid:
                found = True

        assert_eq(found, 1)
Пример #5
0
    def test_send_resources(self):
        credentials = init_credentials(
            './tests/configs/credentials_dynamic_login.json')

        own_uid = credentials.get_own_uid()
        account = Account(own_uid)
        account.update_villages(credentials)

        village = account.get_village_by_vid(4007)
        target_village = account.get_village_by_vid(4207)
        village.force_update(credentials)

        send_resources(credentials, village, target_village, [1, 1, 1, 1])

        evq = account.events
        num = 0

        for event in evq.queue:
            if event.event_type == EventQueue.TradersArrived and event.village.vid == village.vid:
                num += 1

        assert_eq(num, 1)