#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests for `erepublik` package.""" import unittest from erepublik import Citizen class TestErepublik(unittest.TestCase): """Tests for `erepublik` package.""" def setUp(self): """Set up test fixtures, if any.""" self.citizen = Citizen("email", "password", False) self.citizen.config.interactive = False def test_should_do_levelup(self): self.citizen.energy.energy = 5950 self.citizen.energy.interval = 30 self.citizen.energy.limit = 6000 self.citizen.details.xp = 14850 self.assertTrue(self.citizen.should_do_levelup) self.citizen.energy.energy = 1000 self.assertFalse(self.citizen.should_do_levelup) # def deprecated_test_should_travel_to_fight(self): # self.citizen.config.always_travel = True # self.assertTrue(self.citizen.should_travel_to_fight()) # self.citizen.config.always_travel = False # self.assertFalse(self.citizen.should_travel_to_fight()) # # self.citizen.energy.energy = 5960 # self.citizen.energy.interval = 30 # self.citizen.energy.limit = 6000 # self.citizen.details.xp = 14850 # self.assertTrue(self.citizen.should_travel_to_fight()) # self.citizen.details.xp = 15000 # self.citizen.energy.energy = 5000 # self.assertFalse(self.citizen.should_travel_to_fight()) # # self.citizen.energy.energy = 5910 # self.assertTrue(self.citizen.should_travel_to_fight()) # self.citizen.energy.energy = 5900 # self.assertFalse(self.citizen.should_travel_to_fight()) # # # self.citizen.next_reachable_energy and self.citizen.config.next_energy # self.citizen.config.next_energy = True # self.citizen.energy.limit = 10000 # self.citizen.details.next_pp = [5000, 5250, 5750, 6250, 6750] # self.citizen.details.pp = 4900 # self.citizen.energy.energy = 8510 # self.assertEqual(self.citizen.next_reachable_energy, 850) # self.citizen.energy.energy = 8490 # self.assertTrue(self.citizen.should_travel_to_fight()) # self.assertEqual(self.citizen.next_reachable_energy, 350) # self.citizen.energy.energy = 250 # self.assertFalse(self.citizen.should_travel_to_fight()) # self.assertEqual(self.citizen.next_reachable_energy, 0) # # def deprecated_test_should_fight(self): # def is_wc_close(): # return 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)) # # self.citizen.config.fight = True # # # Level up # self.citizen.energy.limit = 3000 # self.citizen.details.xp = 24705 # if not is_wc_close: # self.assertEqual(self.citizen.should_fight(), (0, "Level up", False)) # # self.citizen.energy.energy = 5950 # 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 # # 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 # # self.citizen.config.air = True # self.citizen.energy.energy = 4000 # 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 = 10000 # 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.energy = 5910 # self.assertEqual(self.citizen.should_fight(), (30, "Fighting for 1h energy. Doing 30 hits", True))