diff --git a/test_replays/test_all.py b/test_replays/test_all.py index 4161a0db..f974aaf2 100644 --- a/test_replays/test_all.py +++ b/test_replays/test_all.py @@ -7,6 +7,7 @@ # Newer unittest features aren't built in for python 2.6 import sys + if sys.version_info[:2] < (2, 7): import unittest2 as unittest else: @@ -24,8 +25,8 @@ sc2reader.log_utils.log_to_console("INFO") -class TestReplays(unittest.TestCase): +class TestReplays(unittest.TestCase): def test_teams(self): replay = sc2reader.load_replay("test_replays/1.2.2.17811/13.SC2Replay") self.assertNotEqual(replay.player[1].team.number, replay.player[2].team.number) @@ -200,7 +201,7 @@ def test_hots_pids(self): "test_replays/2.0.3.24764/Antiga Shipyard (3).SC2Replay", "test_replays/2.0.0.24247/molten.SC2Replay", "test_replays/2.0.0.23925/Akilon Wastes.SC2Replay", - ]: + ]: replay = sc2reader.load_replay(replayfilename) self.assertEqual(replay.expansion, "HotS") @@ -217,8 +218,14 @@ def test_wol_pids(self): def test_hots_hatchfun(self): replay = sc2reader.load_replay("test_replays/2.0.0.24247/molten.SC2Replay") - player_pids = set([ player.pid for player in replay.players]) - spawner_pids = set([ event.player.pid for event in replay.events if "TargetUnitCommandEvent" in event.name and event.ability.name == "SpawnLarva"]) + player_pids = set([player.pid for player in replay.players]) + spawner_pids = set( + [ + event.player.pid + for event in replay.events + if "TargetUnitCommandEvent" in event.name and event.ability.name == "SpawnLarva" + ] + ) self.assertTrue(spawner_pids.issubset(player_pids)) def test_hots_vs_ai(self): @@ -258,20 +265,20 @@ def test_cn_replays(self): def test_unit_types(self): """ sc2reader#136 regression test """ - replay = sc2reader.load_replay('test_replays/2.0.8.25604/issue136.SC2Replay') - hellion_times = [u.started_at for u in replay.players[0].units if u.name == 'Hellion'] - hellbat_times = [u.started_at for u in replay.players[0].units if u.name == 'BattleHellion'] + replay = sc2reader.load_replay("test_replays/2.0.8.25604/issue136.SC2Replay") + hellion_times = [u.started_at for u in replay.players[0].units if u.name == "Hellion"] + hellbat_times = [u.started_at for u in replay.players[0].units if u.name == "BattleHellion"] self.assertEqual(hellion_times, [5180, 5183]) self.assertEqual(hellbat_times, [6736, 6741, 7215, 7220, 12004, 12038]) @unittest.expectedFailure def test_outmatched_pids(self): - replay = sc2reader.load_replay('test_replays/2.0.8.25604/issue131_arid_wastes.SC2Replay') + replay = sc2reader.load_replay("test_replays/2.0.8.25604/issue131_arid_wastes.SC2Replay") self.assertEqual(replay.players[0].pid, 1) self.assertEqual(replay.players[1].pid, 3) self.assertEqual(replay.players[2].pid, 4) - replay = sc2reader.load_replay('test_replays/2.0.8.25604/issue135.SC2Replay') + replay = sc2reader.load_replay("test_replays/2.0.8.25604/issue135.SC2Replay") self.assertEqual(replay.players[0].pid, 1) self.assertEqual(replay.players[1].pid, 2) self.assertEqual(replay.players[2].pid, 4) @@ -285,8 +292,8 @@ def test_outmatched_pids(self): @unittest.expectedFailure def test_map_info(self): replay = sc2reader.load_replay("test_replays/1.5.3.23260/ggtracker_109233.SC2Replay", load_map=True) - self.assertEqual(replay.map.map_info.tile_set, 'Avernus') - self.assertEqual(replay.map.map_info.fog_type, 'Dark') + self.assertEqual(replay.map.map_info.tile_set, "Avernus") + self.assertEqual(replay.map.map_info.fog_type, "Dark") self.assertEqual(replay.map.map_info.width, 176) self.assertEqual(replay.map.map_info.height, 160) self.assertEqual(replay.map.map_info.camera_top, 134) @@ -301,14 +308,10 @@ def test_engine_plugins(self): replay = sc2reader.load_replay( "test_replays/2.0.5.25092/cn1.SC2Replay", - engine=sc2reader.engine.GameEngine(plugins=[ - ContextLoader(), - APMTracker(), - SelectionTracker(), - ]) + engine=sc2reader.engine.GameEngine(plugins=[ContextLoader(), APMTracker(), SelectionTracker()]), ) - code, details = replay.plugins['ContextLoader'] + code, details = replay.plugins["ContextLoader"] self.assertEqual(code, 0) self.assertEqual(details, dict()) @@ -336,71 +339,77 @@ def test_factory_plugins(self): def test_gameheartnormalizer_plugin(self): from sc2reader.engine.plugins import GameHeartNormalizer + sc2reader.engine.register_plugin(GameHeartNormalizer()) # Not a GameHeart game! replay = sc2reader.load_replay("test_replays/2.0.0.24247/molten.SC2Replay") - player_pids = set([ player.pid for player in replay.players]) - spawner_pids = set([ event.player.pid for event in replay.events if "TargetUnitCommandEvent" in event.name and event.ability.name == "SpawnLarva"]) + player_pids = set([player.pid for player in replay.players]) + spawner_pids = set( + [ + event.player.pid + for event in replay.events + if "TargetUnitCommandEvent" in event.name and event.ability.name == "SpawnLarva" + ] + ) self.assertTrue(spawner_pids.issubset(player_pids)) replay = sc2reader.load_replay("test_replays/gameheart/gameheart.SC2Replay") self.assertEqual(replay.events[0].frame, 0) self.assertEqual(replay.game_length.seconds, 636) self.assertEqual(len(replay.observers), 5) - self.assertEqual(replay.players[0].name, 'SjoWBBII') - self.assertEqual(replay.players[0].play_race, 'Terran') - self.assertEqual(replay.players[1].name, 'Stardust') - self.assertEqual(replay.players[1].play_race, 'Protoss') + self.assertEqual(replay.players[0].name, "SjoWBBII") + self.assertEqual(replay.players[0].play_race, "Terran") + self.assertEqual(replay.players[1].name, "Stardust") + self.assertEqual(replay.players[1].play_race, "Protoss") self.assertEqual(len(replay.teams), 2) - self.assertEqual(replay.teams[0].players[0].name, 'SjoWBBII') - self.assertEqual(replay.teams[1].players[0].name, 'Stardust') + self.assertEqual(replay.teams[0].players[0].name, "SjoWBBII") + self.assertEqual(replay.teams[1].players[0].name, "Stardust") self.assertEqual(replay.winner, replay.teams[1]) replay = sc2reader.load_replay("test_replays/gameheart/gh_sameteam.SC2Replay") self.assertEqual(replay.events[0].frame, 0) self.assertEqual(replay.game_length.seconds, 424) self.assertEqual(len(replay.observers), 5) - self.assertEqual(replay.players[0].name, 'EGJDRC') - self.assertEqual(replay.players[0].play_race, 'Zerg') - self.assertEqual(replay.players[1].name, 'LiquidTaeJa') - self.assertEqual(replay.players[1].play_race, 'Terran') + self.assertEqual(replay.players[0].name, "EGJDRC") + self.assertEqual(replay.players[0].play_race, "Zerg") + self.assertEqual(replay.players[1].name, "LiquidTaeJa") + self.assertEqual(replay.players[1].play_race, "Terran") self.assertEqual(len(replay.teams), 2) - self.assertEqual(replay.teams[0].players[0].name, 'EGJDRC') - self.assertEqual(replay.teams[1].players[0].name, 'LiquidTaeJa') + self.assertEqual(replay.teams[0].players[0].name, "EGJDRC") + self.assertEqual(replay.teams[1].players[0].name, "LiquidTaeJa") self.assertEqual(replay.winner, replay.teams[0]) def test_replay_event_order(self): replay = sc2reader.load_replay("test_replays/event_order.SC2Replay") def test_creepTracker(self): - from sc2reader.engine.plugins import CreepTracker - - for replayfilename in [ - "test_replays/2.0.8.25605/ggtracker_3621322.SC2Replay", - "test_replays/2.0.8.25605/ggtracker_3621402.SC2Replay", - "test_replays/2.0.8.25605/ggtracker_3663861.SC2Replay", - "test_replays/2.0.8.25605/ggtracker_3695400.SC2Replay", - "test_replays/3.1.2/6494799.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - pluginEngine=sc2reader.engine.GameEngine(plugins=[ - CreepTracker() - ]) - replay =factory.load_replay(replayfilename,engine=pluginEngine,load_map= True,load_level=4) - - for player_id in replay.player: - if replay.player[player_id].play_race == "Zerg": - assert replay.player[player_id].max_creep_spread[1] >0 - assert replay.player[player_id].creep_spread_by_minute[0] >0 -# print("MCS", replay.player[player_id].max_creep_spread) -# print("CSBM", replay.player[player_id].creep_spread_by_minute) + from sc2reader.engine.plugins import CreepTracker - - replay =factory.load_replay("test_replays/2.0.8.25605/ggtracker_3621402.SC2Replay",load_map= True,engine=pluginEngine,load_level=4) - assert replay.player[2].max_creep_spread == (840,24.83) - assert replay.player[2].creep_spread_by_minute[420] == 9.4 - assert replay.player[2].creep_spread_by_minute[780] == 22.42 + for replayfilename in [ + "test_replays/2.0.8.25605/ggtracker_3621322.SC2Replay", + "test_replays/2.0.8.25605/ggtracker_3621402.SC2Replay", + "test_replays/2.0.8.25605/ggtracker_3663861.SC2Replay", + "test_replays/2.0.8.25605/ggtracker_3695400.SC2Replay", + "test_replays/3.1.2/6494799.SC2Replay", + ]: + factory = sc2reader.factories.SC2Factory() + pluginEngine = sc2reader.engine.GameEngine(plugins=[CreepTracker()]) + replay = factory.load_replay(replayfilename, engine=pluginEngine, load_map=True, load_level=4) + + for player_id in replay.player: + if replay.player[player_id].play_race == "Zerg": + assert replay.player[player_id].max_creep_spread[1] > 0 + assert replay.player[player_id].creep_spread_by_minute[0] > 0 + # print("MCS", replay.player[player_id].max_creep_spread) + # print("CSBM", replay.player[player_id].creep_spread_by_minute) + + replay = factory.load_replay( + "test_replays/2.0.8.25605/ggtracker_3621402.SC2Replay", load_map=True, engine=pluginEngine, load_level=4 + ) + assert replay.player[2].max_creep_spread == (840, 24.83) + assert replay.player[2].creep_spread_by_minute[420] == 9.4 + assert replay.player[2].creep_spread_by_minute[780] == 22.42 def test_bad_unit_ids(self): with self.assertRaises(CorruptTrackerFileError): @@ -415,56 +424,49 @@ def test_reloaded(self): replay = sc2reader.load_replay("test_replays/2.1.3.28667/Habitation Station LE (54).SC2Replay") def test_214(self): - replay = sc2reader.load_replay("test_replays/2.1.4/Catallena LE.SC2Replay", load_level=4) + replay = sc2reader.load_replay("test_replays/2.1.4/Catallena LE.SC2Replay", load_level=4) def test_lotv1(self): - replay = sc2reader.load_replay("test_replays/lotv/lotv1.SC2Replay") - self.assertEqual(replay.expansion, "LotV") - replay = sc2reader.load_replay("test_replays/lotv/lotv2.SC2Replay") - self.assertEqual(replay.expansion, "LotV") - + replay = sc2reader.load_replay("test_replays/lotv/lotv1.SC2Replay") + self.assertEqual(replay.expansion, "LotV") + replay = sc2reader.load_replay("test_replays/lotv/lotv2.SC2Replay") + self.assertEqual(replay.expansion, "LotV") def test_lotv_creepTracker(self): - from sc2reader.engine.plugins import CreepTracker + from sc2reader.engine.plugins import CreepTracker - for replayfilename in [ - "test_replays/lotv/lotv1.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - pluginEngine=sc2reader.engine.GameEngine(plugins=[ - CreepTracker() - ]) - replay =factory.load_replay(replayfilename,engine=pluginEngine,load_map= True) + for replayfilename in ["test_replays/4.0.0.59587/1.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + pluginEngine = sc2reader.engine.GameEngine(plugins=[CreepTracker()]) + replay = factory.load_replay(replayfilename, engine=pluginEngine, load_map=True) - for player_id in replay.player: - if replay.player[player_id].play_race == "Zerg": - assert replay.player[player_id].max_creep_spread != 0 - assert replay.player[player_id].creep_spread_by_minute + is_at_least_one_zerg_in_game = False + for player_id in replay.player: + if replay.player[player_id].play_race == "Zerg": + is_at_least_one_zerg_in_game = True + assert replay.player[player_id].max_creep_spread != 0 + assert replay.player[player_id].creep_spread_by_minute + assert is_at_least_one_zerg_in_game def test_lotv_map(self): - # This test currently fails in decoders.py with 'TypeError: ord() expected a character, but string of length 0 found' - for replayfilename in [ - "test_replays/lotv/lotv1.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay =factory.load_replay(replayfilename,load_level=1,load_map= True) + for replayfilename in ["test_replays/4.0.0.59587/1.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename, load_level=1, load_map=True) def test_30(self): - replay = sc2reader.load_replay("test_replays/3.0.0.38215/first.SC2Replay") - replay = sc2reader.load_replay("test_replays/3.0.0.38215/second.SC2Replay") - replay = sc2reader.load_replay("test_replays/3.0.0.38215/third.SC2Replay") + replay = sc2reader.load_replay("test_replays/3.0.0.38215/first.SC2Replay") + replay = sc2reader.load_replay("test_replays/3.0.0.38215/second.SC2Replay") + replay = sc2reader.load_replay("test_replays/3.0.0.38215/third.SC2Replay") def test_31(self): - for i in range(1,5): - print("DOING {}".format(i)) - replay = sc2reader.load_replay("test_replays/3.1.0/{}.SC2Replay".format(i)) + for i in range(1, 5): + print("DOING {}".format(i)) + replay = sc2reader.load_replay("test_replays/3.1.0/{}.SC2Replay".format(i)) def test_30_map(self): - for replayfilename in [ - "test_replays/3.0.0.38215/third.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay =factory.load_replay(replayfilename,load_level=1,load_map= True) + for replayfilename in ["test_replays/3.0.0.38215/third.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename, load_level=1, load_map=True) def test_30_apms(self): from sc2reader.factories.plugins.replay import APMTracker, SelectionTracker, toJSON @@ -473,60 +475,68 @@ def test_30_apms(self): factory.register_plugin("Replay", APMTracker()) replay = factory.load_replay("test_replays/3.0.0.38215/fourth.SC2Replay") for player in replay.players: - if player.name == 'Owl': + if player.name == "Owl": print(player.name, player.avg_apm) self.assertTrue(player.avg_apm > 110) def test_38749(self): replay = sc2reader.load_replay("test_replays/3.0.0.38749/1.SC2Replay") - self.assertEqual(replay.expansion, 'HotS') + self.assertEqual(replay.expansion, "HotS") replay = sc2reader.load_replay("test_replays/3.0.0.38749/2.SC2Replay") - self.assertEqual(replay.expansion, 'HotS') + self.assertEqual(replay.expansion, "HotS") def test_38996(self): replay = sc2reader.load_replay("test_replays/3.0.0.38996/1.SC2Replay") - self.assertEqual(replay.expansion, 'LotV') + self.assertEqual(replay.expansion, "LotV") replay = sc2reader.load_replay("test_replays/3.0.0.38996/2.SC2Replay") - self.assertEqual(replay.expansion, 'LotV') + self.assertEqual(replay.expansion, "LotV") def test_funny_minerals(self): replay = sc2reader.load_replay("test_replays/3.1.0/centralprotocol.SC2Replay") replay.load_map() - xmldoc = minidom.parseString(replay.map.archive.read_file('Objects')) - itemlist = xmldoc.getElementsByTagName('ObjectUnit') - mineralPosStrs = [ou.attributes['Position'].value for ou in itemlist if 'MineralField' in ou.attributes['UnitType'].value] - mineralFieldNames = list(set([ou.attributes['UnitType'].value for ou in itemlist if 'MineralField' in ou.attributes['UnitType'].value])) + xmldoc = minidom.parseString(replay.map.archive.read_file("Objects")) + itemlist = xmldoc.getElementsByTagName("ObjectUnit") + mineralPosStrs = [ + ou.attributes["Position"].value for ou in itemlist if "MineralField" in ou.attributes["UnitType"].value + ] + mineralFieldNames = list( + set([ou.attributes["UnitType"].value for ou in itemlist if "MineralField" in ou.attributes["UnitType"].value]) + ) # print(mineralFieldNames) self.assertTrue(len(mineralPosStrs) > 0) def test_dusk(self): replay = sc2reader.load_replay("test_replays/3.1.0/dusktowers.SC2Replay") - self.assertEqual(replay.expansion, 'LotV') + self.assertEqual(replay.expansion, "LotV") def test_32(self): replay = sc2reader.load_replay("test_replays/3.2.0/1.SC2Replay") self.assertTrue(replay is not None) def test_33(self): - for replaynum in range(1,4): + for replaynum in range(1, 4): replay = sc2reader.load_replay("test_replays/3.3.0/{}.SC2Replay".format(replaynum)) self.assertTrue(replay is not None) def test_33_shift_click_calldown_mule(self): replay = sc2reader.load_replay("test_replays/3.3.0/ggissue48.SC2Replay") + def efilter(e): return hasattr(e, "ability") and e.ability_name == "CalldownMULE" + self.assertEqual(len(list(filter(efilter, replay.events))), 29) def test_33_shift_click_spawn_larva(self): replay = sc2reader.load_replay("test_replays/3.3.0/ggissue49.SC2Replay") + def efilter(e): return hasattr(e, "ability") and e.ability_name == "SpawnLarva" + self.assertEqual(len(list(filter(efilter, replay.events))), 23) def test_34(self): replay = sc2reader.load_replay("test_replays/3.4.0/issueYY.SC2Replay") - self.assertEqual(replay.expansion, 'LotV') + self.assertEqual(replay.expansion, "LotV") def test_lotv_time(self): replay = sc2reader.load_replay("test_replays/lotv/lotv1.SC2Replay") @@ -538,56 +548,44 @@ def test_37(self): replay = sc2reader.load_replay("test_replays/3.7.0/2.SC2Replay") def test_312(self): - for replayfilename in [ - "test_replays/3.12/Honorgrounds.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay =factory.load_replay(replayfilename,load_level=0) - replay =factory.load_replay(replayfilename,load_level=1) + for replayfilename in ["test_replays/3.12/Honorgrounds.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename, load_level=0) + replay = factory.load_replay(replayfilename, load_level=1) def test_316(self): - for replayfilename in [ - "test_replays/3.16/AbyssalReef.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay =factory.load_replay(replayfilename) + for replayfilename in ["test_replays/3.16/AbyssalReef.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_54518(self): - for replayfilename in [ - "test_replays/3.14.0.54518/1.SC2Replay", - "test_replays/3.14.0.54518/2.SC2Replay", - "test_replays/3.14.0.54518/3.SC2Replay", + for replayfilename in [ + "test_replays/3.14.0.54518/1.SC2Replay", + "test_replays/3.14.0.54518/2.SC2Replay", + "test_replays/3.14.0.54518/3.SC2Replay", ]: - factory = sc2reader.factories.SC2Factory() - replay =factory.load_replay(replayfilename) + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_59587(self): - for replayfilename in [ - "test_replays/4.0.0.59587/1.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay = factory.load_replay(replayfilename) + for replayfilename in ["test_replays/4.0.0.59587/1.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_64469(self): - for replayfilename in [ - "test_replays/4.3.0.64469/1.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay = factory.load_replay(replayfilename) + for replayfilename in ["test_replays/4.3.0.64469/1.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_coop(self): - for replayfilename in [ - "test_replays/coop/CoA.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay = factory.load_replay(replayfilename) + for replayfilename in ["test_replays/coop/CoA.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_65895(self): - for replayfilename in [ - "test_replays/4.4.0.65895/1.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay = factory.load_replay(replayfilename) + for replayfilename in ["test_replays/4.4.0.65895/1.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_event_print(self): replay = sc2reader.load_replay("test_replays/lotv/lotv1.SC2Replay") @@ -599,11 +597,9 @@ def test_event_print(self): capturedOutput.close() def test_70154(self): - for replayfilename in [ - "test_replays/4.7.0.70154/1.SC2Replay", - ]: - factory = sc2reader.factories.SC2Factory() - replay = factory.load_replay(replayfilename) + for replayfilename in ["test_replays/4.7.0.70154/1.SC2Replay"]: + factory = sc2reader.factories.SC2Factory() + replay = factory.load_replay(replayfilename) def test_anonymous_replay(self): replayfilename = "test_replays/4.1.2.60604/1.SC2Replay" @@ -641,33 +637,36 @@ def test_game_event_string(self): event.player = player self.assertEqual("{0}\tPlayer {1} - ({2}) ".format(time, player.pid, player.play_race), event._str_prefix()) + class TestGameEngine(unittest.TestCase): class TestEvent(object): - name='TestEvent' + name = "TestEvent" + def __init__(self, value): self.value = value + def __str__(self): return self.value class TestPlugin1(object): - name = 'TestPlugin1' + name = "TestPlugin1" def handleInitGame(self, event, replay): - yield TestGameEngine.TestEvent('b') - yield TestGameEngine.TestEvent('c') + yield TestGameEngine.TestEvent("b") + yield TestGameEngine.TestEvent("c") def handleTestEvent(self, event, replay): - print("morestuff") - if event.value == 'd': + if event.value == "d": yield sc2reader.engine.PluginExit(self, code=1, details=dict(msg="Fail!")) else: - yield TestGameEngine.TestEvent('d') + yield TestGameEngine.TestEvent("d") def handleEndGame(self, event, replay): - yield TestGameEngine.TestEvent('g') + yield TestGameEngine.TestEvent("g") class TestPlugin2(object): - name = 'TestPlugin2' + name = "TestPlugin2" + def handleInitGame(self, event, replay): replay.engine_events = list() @@ -675,10 +674,10 @@ def handleTestEvent(self, event, replay): replay.engine_events.append(event) def handlePluginExit(self, event, replay): - yield TestGameEngine.TestEvent('e') + yield TestGameEngine.TestEvent("e") def handleEndGame(self, event, replay): - yield TestGameEngine.TestEvent('f') + yield TestGameEngine.TestEvent("f") class MockReplay(object): def __init__(self, events): @@ -688,12 +687,13 @@ def test_plugin1(self): engine = sc2reader.engine.GameEngine() engine.register_plugin(self.TestPlugin1()) engine.register_plugin(self.TestPlugin2()) - replay = self.MockReplay([self.TestEvent('a')]) + replay = self.MockReplay([self.TestEvent("a")]) engine.run(replay) - self.assertEqual(''.join(str(e) for e in replay.engine_events), 'bdecaf') - self.assertEqual(replay.plugin_failures, ['TestPlugin1']) - self.assertEqual(replay.plugin_result['TestPlugin1'], (1, dict(msg="Fail!"))) - self.assertEqual(replay.plugin_result['TestPlugin2'], (0, dict())) + self.assertEqual("".join(str(e) for e in replay.engine_events), "bdecaf") + self.assertEqual(replay.plugin_failures, ["TestPlugin1"]) + self.assertEqual(replay.plugin_result["TestPlugin1"], (1, dict(msg="Fail!"))) + self.assertEqual(replay.plugin_result["TestPlugin2"], (0, dict())) + class MockPlayer(object): def __init__(self): @@ -701,5 +701,6 @@ def __init__(self): self.play_race = None self.pid = None -if __name__ == '__main__': + +if __name__ == "__main__": unittest.main() diff --git a/test_s2gs/lotv.s2gs b/test_s2gs/lotv.s2gs new file mode 100644 index 00000000..13242594 Binary files /dev/null and b/test_s2gs/lotv.s2gs differ diff --git a/test_s2gs/test_all.py b/test_s2gs/test_all.py index 1a5e576c..a0c06b9b 100644 --- a/test_s2gs/test_all.py +++ b/test_s2gs/test_all.py @@ -19,12 +19,13 @@ def test_a_WoL_s2gs(self): self.assertEqual(summary.players[0].build_order[0].order, 'Probe') self.assertEqual(summary.expansion, 'WoL') - def test_a_HotS_s2gs(self): - summary = sc2reader.load_game_summary("test_s2gs/hots1.s2gs") - self.assertEqual(summary.players[0].resource_collection_rate, 1599) - self.assertEqual(summary.players[0].build_order[0].order, 'SCV') + def test_a_LotV_s2gs(self): + summary = sc2reader.load_game_summary("test_s2gs/lotv.s2gs") + self.assertEqual(summary.players[0].resource_collection_rate, 1619) + self.assertEqual(summary.players[0].build_order[0].order, 'Probe') self.assertEqual(summary.expansion, 'HotS') +""" def test_another_HotS_s2gs(self): summary = sc2reader.load_game_summary("test_s2gs/hots2.s2gs") self.assertEqual(summary.players[0].enemies_destroyed, 14575) @@ -35,6 +36,7 @@ def test_another_HotS_s2gs(self): self.assertEqual(summary.players[0].workers_active_graph.as_points()[8][1], 25) self.assertEqual(summary.players[0].upgrade_spending_graph.as_points()[8][1], 300) self.assertEqual(summary.expansion, 'HotS') +""" if __name__ == '__main__': unittest.main()