Пример #1
0
    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))
Пример #2
0
    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'])
Пример #3
0
    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'])
Пример #4
0
    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'])
Пример #5
0
    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'])
Пример #6
0
 def age(self):
     return TimePrototype(TimePrototype.get_current_turn_number() - self.created_at_turn).game_time
Пример #7
0
    def birthday(self): return TimePrototype(self.created_at_turn).game_time

    @property
Пример #8
0
 def game_time(self):
     return TimePrototype(self._model.created_at_turn).game_time