#!/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_000_something(self): """Test something.""" def test_should_do_levelup(self): self.citizen.energy.recovered = 1900 self.citizen.energy.recoverable = 2940 self.citizen.energy.interval = 30 self.citizen.energy.limit = 3000 self.citizen.details.xp = 14850 self.assertTrue(self.citizen.should_do_levelup) self.citizen.energy.recoverable = 1000 self.assertFalse(self.citizen.should_do_levelup) def 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.recovered = 1900 self.citizen.energy.recoverable = 2940 self.citizen.energy.interval = 30 self.citizen.energy.limit = 3000 self.citizen.details.xp = 14850 self.assertTrue(self.citizen.should_travel_to_fight()) self.citizen.details.xp = 15000 self.assertFalse(self.citizen.should_travel_to_fight()) self.citizen.energy.recovered = 3000 self.citizen.energy.recoverable = 2910 self.assertTrue(self.citizen.should_travel_to_fight()) self.citizen.energy.recoverable = 2900 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 = 5000 self.citizen.details.next_pp = [5000, 5250, 5750, 6250, 6750] self.citizen.details.pp = 4900 self.citizen.energy.recovered = 4000 self.citizen.energy.recoverable = 4510 self.assertEqual(self.citizen.next_reachable_energy, 850) self.citizen.energy.recoverable = 4490 self.assertTrue(self.citizen.should_travel_to_fight()) self.assertEqual(self.citizen.next_reachable_energy, 350) self.citizen.energy.recovered = 100 self.citizen.energy.recoverable = 150 self.assertFalse(self.citizen.should_travel_to_fight()) self.assertEqual(self.citizen.next_reachable_energy, 0) def test_should_fight(self): self.citizen.config.fight = False self.assertEqual(self.citizen.should_fight(), 0) self.citizen.config.fight = True # Level up self.citizen.energy.limit = 3000 self.citizen.details.xp = 24705 self.assertEqual(self.citizen.should_fight(), 0) self.citizen.energy.recovered = 3000 self.citizen.energy.recoverable = 2950 self.citizen.energy.interval = 30 self.assertEqual(self.citizen.should_fight(), 895) self.citizen.my_companies.ff_lockdown = 160 self.assertEqual(self.citizen.should_fight(), 895) self.citizen.my_companies.ff_lockdown = 0 # Level up reachable self.citizen.details.xp = 24400 self.assertEqual(self.citizen.should_fight(), 305) self.citizen.my_companies.ff_lockdown = 160 self.assertEqual(self.citizen.should_fight(), 305) self.citizen.my_companies.ff_lockdown = 0 self.citizen.details.xp = 21000 self.assertEqual(self.citizen.should_fight(), 75) self.citizen.my_companies.ff_lockdown = 160 self.assertEqual(self.citizen.should_fight(), 75) 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) self.citizen.my_companies.ff_lockdown = 160 self.assertEqual(self.citizen.should_fight(), 435) self.citizen.my_companies.ff_lockdown = 0 self.citizen.config.air = True self.citizen.energy.recoverable = 1000 self.assertEqual(self.citizen.should_fight(), 400) self.citizen.my_companies.ff_lockdown = 160 self.assertEqual(self.citizen.should_fight(), 240) 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) self.citizen.my_companies.ff_lockdown = 160 self.assertEqual(self.citizen.should_fight(), 160) 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 true = True false = False self.citizen.config.air = True self.citizen.config.all_in = False self.citizen.config.boosters = True self.citizen.config.continuous_fighting = False self.citizen.set_debug(True) self.citizen.config.fight = True self.citizen.config.ground = True self.citizen.config.next_energy = True self.citizen.config.rw_def_side = False self.citizen.config.travel_to_fight = True self.citizen.config.interactive = True self.citizen.energy.limit = 1640 self.citizen.energy.recoverable = 1640 self.citizen.energy.recovered = 1640 self.citizen.energy.interval = 44 self.citizen.details.xp = 100975 self.citizen.details.next_pp = [8750, 9250, 10000] self.citizen.my_companies.ff_lockdown = 9 self.assertEqual(self.citizen.should_fight(False), 328) # 1h worth of energy self.citizen.energy.recoverable = 2910 self.assertEqual(self.citizen.should_fight(), 30)