From 1c102488b67b0c486935fe153e00bede6bcb1a68 Mon Sep 17 00:00:00 2001 From: Eriks K Date: Mon, 21 Sep 2020 12:39:27 +0300 Subject: [PATCH] Test fix to not run if WC end is near --- tests/test_erepublik_script.py | 107 +++++++++++++++++---------------- 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/tests/test_erepublik_script.py b/tests/test_erepublik_script.py index b2152a5..3498e5e 100644 --- a/tests/test_erepublik_script.py +++ b/tests/test_erepublik_script.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- """Tests for `erepublik` package.""" +from typing import Callable from erepublik import Citizen @@ -65,6 +66,7 @@ class TestErepublik(unittest.TestCase): self.assertEqual(self.citizen.next_reachable_energy, 0) def test_should_fight(self): + is_wc_close: Callable[[], bool] = lambda: self.citizen.max_time_till_full_ff > self.citizen.time_till_week_change self.citizen.config.fight = False self.assertEqual(self.citizen.should_fight(), (0, "Fighting not allowed!", False)) @@ -73,62 +75,63 @@ class TestErepublik(unittest.TestCase): # Level up self.citizen.energy.limit = 3000 self.citizen.details.xp = 24705 - self.assertEqual(self.citizen.should_fight(), (0, 'Level up', False)) + if not is_wc_close: + self.assertEqual(self.citizen.should_fight(), (0, 'Level up', False)) - self.citizen.energy.recovered = 3000 - self.citizen.energy.recoverable = 2950 - self.citizen.energy.interval = 30 - self.assertEqual(self.citizen.should_fight(), (900, 'Level up', True)) - self.citizen.my_companies.ff_lockdown = 160 - self.assertEqual(self.citizen.should_fight(), (900, 'Level up', True)) - self.citizen.my_companies.ff_lockdown = 0 + self.citizen.energy.recovered = 3000 + self.citizen.energy.recoverable = 2950 + self.citizen.energy.interval = 30 + self.assertEqual(self.citizen.should_fight(), (900, 'Level up', True)) + self.citizen.my_companies.ff_lockdown = 160 + self.assertEqual(self.citizen.should_fight(), (900, 'Level up', True)) + self.citizen.my_companies.ff_lockdown = 0 - # Level up reachable - self.citizen.details.xp = 24400 - self.assertEqual(self.citizen.should_fight(), (305, 'Fighting for close Levelup. Doing 305 hits', True)) - self.citizen.my_companies.ff_lockdown = 160 - self.assertEqual(self.citizen.should_fight(), (305, 'Fighting for close Levelup. Doing 305 hits', True)) - self.citizen.my_companies.ff_lockdown = 0 + # Level up reachable + self.citizen.details.xp = 24400 + self.assertEqual(self.citizen.should_fight(), (305, 'Fighting for close Levelup. Doing 305 hits', True)) + self.citizen.my_companies.ff_lockdown = 160 + self.assertEqual(self.citizen.should_fight(), (305, 'Fighting for close Levelup. Doing 305 hits', True)) + self.citizen.my_companies.ff_lockdown = 0 - self.citizen.details.xp = 21000 - self.assertEqual(self.citizen.should_fight(), (75, 'Obligatory fighting for at least 75pp', True)) - self.citizen.my_companies.ff_lockdown = 160 - self.assertEqual(self.citizen.should_fight(), (75, 'Obligatory fighting for at least 75pp', True)) - self.citizen.my_companies.ff_lockdown = 0 - self.citizen.details.pp = 80 + self.citizen.details.xp = 21000 + self.assertEqual(self.citizen.should_fight(), (75, 'Obligatory fighting for at least 75pp', True)) + self.citizen.my_companies.ff_lockdown = 160 + self.assertEqual(self.citizen.should_fight(), (75, 'Obligatory fighting for at least 75pp', True)) + self.citizen.my_companies.ff_lockdown = 0 + self.citizen.details.pp = 80 - # All-in (type = all-in and full ff) - self.citizen.config.all_in = True - self.assertEqual(self.citizen.should_fight(), (595, 'Fighting all-in. Doing 595 hits', False)) - self.citizen.my_companies.ff_lockdown = 160 - self.assertEqual(self.citizen.should_fight(), ( - 435, 'Fight count modified (old count: 595 | FF: 595 | WAM ff_lockdown: 160 | New count: 435)', False - )) - self.citizen.my_companies.ff_lockdown = 0 + # All-in (type = all-in and full ff) + self.citizen.config.all_in = True + self.assertEqual(self.citizen.should_fight(), (595, 'Fighting all-in. Doing 595 hits', False)) + self.citizen.my_companies.ff_lockdown = 160 + self.assertEqual(self.citizen.should_fight(), ( + 435, 'Fight count modified (old count: 595 | FF: 595 | WAM ff_lockdown: 160 | New count: 435)', False + )) + self.citizen.my_companies.ff_lockdown = 0 - self.citizen.config.air = True - self.citizen.energy.recoverable = 1000 - self.assertEqual(self.citizen.should_fight(), (400, 'Fighting all-in in AIR. Doing 400 hits', False)) - self.citizen.my_companies.ff_lockdown = 160 - self.assertEqual(self.citizen.should_fight(), ( - 240, 'Fight count modified (old count: 400 | FF: 400 | WAM ff_lockdown: 160 | New count: 240)', False - )) - self.citizen.my_companies.ff_lockdown = 0 - self.citizen.config.all_in = False + self.citizen.config.air = True + self.citizen.energy.recoverable = 1000 + self.assertEqual(self.citizen.should_fight(), (400, 'Fighting all-in in AIR. Doing 400 hits', False)) + self.citizen.my_companies.ff_lockdown = 160 + self.assertEqual(self.citizen.should_fight(), ( + 240, 'Fight count modified (old count: 400 | FF: 400 | WAM ff_lockdown: 160 | New count: 240)', False + )) + self.citizen.my_companies.ff_lockdown = 0 + self.citizen.config.all_in = False - self.citizen.config.next_energy = True - self.citizen.energy.limit = 5000 - self.citizen.details.next_pp = [100, 150, 250, 400, 500] - self.assertEqual(self.citizen.should_fight(), (320, 'Fighting for +1 energy. Doing 320 hits', False)) - self.citizen.my_companies.ff_lockdown = 160 - self.assertEqual(self.citizen.should_fight(), ( - 160, 'Fight count modified (old count: 320 | FF: 400 | WAM ff_lockdown: 160 | New count: 160)', False - )) - self.citizen.my_companies.ff_lockdown = 0 - self.citizen.energy.limit = 3000 - self.citizen.details.next_pp = [19250, 20000] - self.citizen.config.next_energy = False + self.citizen.config.next_energy = True + self.citizen.energy.limit = 5000 + self.citizen.details.next_pp = [100, 150, 250, 400, 500] + self.assertEqual(self.citizen.should_fight(), (320, 'Fighting for +1 energy. Doing 320 hits', False)) + self.citizen.my_companies.ff_lockdown = 160 + self.assertEqual(self.citizen.should_fight(), ( + 160, 'Fight count modified (old count: 320 | FF: 400 | WAM ff_lockdown: 160 | New count: 160)', False + )) + self.citizen.my_companies.ff_lockdown = 0 + self.citizen.energy.limit = 3000 + self.citizen.details.next_pp = [19250, 20000] + self.citizen.config.next_energy = False - # 1h worth of energy - self.citizen.energy.recoverable = 2910 - self.assertEqual(self.citizen.should_fight(), (30, 'Fighting for 1h energy. Doing 30 hits', True)) + # 1h worth of energy + self.citizen.energy.recoverable = 2910 + self.assertEqual(self.citizen.should_fight(), (30, 'Fighting for 1h energy. Doing 30 hits', True))