def test_parsing_binary_chunks(self): data = open('./Power_2.log.xml', mode='rb').read() start_index = 0 batch_size = 1000 parser = HSReplayParser() self.assertIsNone(parser.replay) while start_index < len(data): end_index = 0 is_final = False if start_index + batch_size >= len(data): end_index = len(data) is_final = True else: end_index = start_index + batch_size chunk = data[start_index:end_index] parser.parse_data(chunk, is_final) start_index = end_index if not is_final: self.assertIsNone(parser.replay) self.assertIsNotNone(parser.replay) self.assertRaises(ReplayParserError, parser.parse_data, data[0:100])
def test_game_type(self): with open('./replays/2016-02-01T21.25.02.gamestate.4.log.xml', mode='rb') as f: self.parser = HSReplayParser() self.parser.parse_file(f) game = self.parser.replay.games[0] self.assertEqual(game.game_type, GameType.GT_RANKED)
def test_player_deck(self): with open('./replays/replay_with_player_deck_included.xml', mode='rb') as f: self.parser = HSReplayParser() self.parser.parse_file(f) game = self.parser.replay.games[0] self.assertEqual(game.looser.name, "Nicodemus")
def test_friendly_player(self): with open('./replays/2016-02-01T21.25.02.gamestate.4.log.xml', mode='rb') as f: self.parser = HSReplayParser() self.parser.parse_file(f) game = self.parser.replay.games[0] # 2016-02-01T21:06:34 self.assertEqual(game.friendly_player.name, "Nicodemus")
def test_player_ranks(self): with open('./replays/2016-02-01T21.25.02.gamestate.4.log.xml', mode='rb') as f: self.parser = HSReplayParser() self.parser.parse_file(f) game = self.parser.replay.games[0] self.assertEqual(game.winner.rank, 19) self.assertEqual(game.looser.rank, 19)
def test_match_date(self): with open('./replays/2016-02-01T21.25.02.gamestate.4.log.xml', mode='rb') as f: self.parser = HSReplayParser() self.parser.parse_file(f) game = self.parser.replay.games[0] # 2016-02-01T21:06:34 self.assertEqual( game.match_date, datetime(year=2016, month=2, day=1, hour=21, minute=6, second=34))
def setUp(self): with open('./Power_2.log.xml', mode='rb') as f: self.parser = HSReplayParser() self.parser.parse_file(f)