def test_push_power(self): self.place.push_power(0, 10) self.assertEqual(self.place.power, 10) TimePrototype.get_current_time().increment_turn() self.place.push_power(1, 1) self.assertEqual( self.place.power, 1 + 10 * float(places_settings.POWER_HISTORY_LENGTH - 1) / places_settings.POWER_HISTORY_LENGTH) TimePrototype(places_settings.POWER_HISTORY_LENGTH - 1).save() self.place.push_power(places_settings.POWER_HISTORY_LENGTH - 1, 100) self.assertEqual( self.place.power, 100 + 10 * 1.0 / places_settings.POWER_HISTORY_LENGTH + 2.0 / places_settings.POWER_HISTORY_LENGTH) TimePrototype(places_settings.POWER_HISTORY_LENGTH).save() self.place.push_power(places_settings.POWER_HISTORY_LENGTH, 1000) self.assertEqual( self.place.power, 1000 + 100 * float(places_settings.POWER_HISTORY_LENGTH - 1) / places_settings.POWER_HISTORY_LENGTH + 1.0 / places_settings.POWER_HISTORY_LENGTH) TimePrototype(places_settings.POWER_HISTORY_LENGTH + 1).save() self.place.push_power(places_settings.POWER_HISTORY_LENGTH + 1, 10000) self.assertEqual( self.place.power, 10000 + 1000 * float(places_settings.POWER_HISTORY_LENGTH - 1) / places_settings.POWER_HISTORY_LENGTH + 100 * float(places_settings.POWER_HISTORY_LENGTH - 2) / places_settings.POWER_HISTORY_LENGTH) TimePrototype(places_settings.POWER_HISTORY_LENGTH + 2).save() self.place.push_power(places_settings.POWER_HISTORY_LENGTH + 2, 100000) self.assertEqual( round(self.place.power, 5), round( 100000 + 10000 * float(places_settings.POWER_HISTORY_LENGTH - 1) / places_settings.POWER_HISTORY_LENGTH + 1000 * float(places_settings.POWER_HISTORY_LENGTH - 2) / places_settings.POWER_HISTORY_LENGTH + 100 * float(places_settings.POWER_HISTORY_LENGTH - 3) / places_settings.POWER_HISTORY_LENGTH, 5))
def test_is_old__not_own_hero(self): self.assertFalse(form_game_info(self.account_1, is_own=False)['account']['is_old']) TimePrototype(turn_number=666).save() self.assertTrue(form_game_info(self.account_1, is_own=False)['account']['is_old']) heroes_logic.save_hero(heroes_logic.load_hero(account_id=self.account_1.id)) self.assertFalse(form_game_info(self.account_1, is_own=False)['account']['is_old'])
def test_is_old__not_own_hero(self): self.assertFalse( form_game_info(self.account_1, is_own=False)['account']['is_old']) TimePrototype(turn_number=666).save() self.assertTrue( form_game_info(self.account_1, is_own=False)['account']['is_old']) HeroPrototype.get_by_account_id(self.account_1.id).save() self.assertFalse( form_game_info(self.account_1, is_own=False)['account']['is_old'])
def test_is_old__pvp(self): self.pvp_create_battle(self.account_1, self.account_2, BATTLE_1X1_STATE.PROCESSING) self.pvp_create_battle(self.account_2, self.account_1, BATTLE_1X1_STATE.PROCESSING) hero_1 = heroes_logic.load_hero(account_id=self.account_1.id) hero_2 = heroes_logic.load_hero(account_id=self.account_2.id) self.assertFalse(form_game_info(self.account_1)['account']['is_old']) self.assertFalse(form_game_info(self.account_1)['enemy']['is_old']) TimePrototype(turn_number=666).save() self.assertTrue(form_game_info(self.account_1)['account']['is_old']) self.assertTrue(form_game_info(self.account_1)['enemy']['is_old']) heroes_logic.save_hero(hero_1) heroes_logic.save_hero(hero_2) self.assertFalse(form_game_info(self.account_1)['account']['is_old']) self.assertFalse(form_game_info(self.account_1)['enemy']['is_old'])
def test_is_old__pvp(self): self.pvp_create_battle(self.account_1, self.account_2, BATTLE_1X1_STATE.PROCESSING) self.pvp_create_battle(self.account_2, self.account_1, BATTLE_1X1_STATE.PROCESSING) hero_1 = HeroPrototype.get_by_account_id(self.account_1.id) hero_2 = HeroPrototype.get_by_account_id(self.account_2.id) self.assertFalse(form_game_info(self.account_1)['account']['is_old']) self.assertFalse(form_game_info(self.account_1)['enemy']['is_old']) TimePrototype(turn_number=666).save() self.assertTrue(form_game_info(self.account_1)['account']['is_old']) self.assertTrue(form_game_info(self.account_1)['enemy']['is_old']) hero_1.save() hero_2.save() self.assertFalse(form_game_info(self.account_1)['account']['is_old']) self.assertFalse(form_game_info(self.account_1)['enemy']['is_old'])
def age(self): return TimePrototype(TimePrototype.get_current_turn_number() - self.created_at_turn).game_time
def birthday(self): return TimePrototype(self.created_at_turn).game_time @property
def game_time(self): return TimePrototype(self._model.created_at_turn).game_time