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)
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)']")
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)
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)
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)