Testing should travel and should fight
This commit is contained in:
@ -5,30 +5,153 @@
|
||||
|
||||
|
||||
import unittest
|
||||
from click.testing import CliRunner
|
||||
|
||||
from erepublik import Citizen
|
||||
from erepublik import cli
|
||||
|
||||
|
||||
class TestErepublik_script(unittest.TestCase):
|
||||
class TestErepublik(unittest.TestCase):
|
||||
"""Tests for `erepublik` package."""
|
||||
|
||||
def setUp(self):
|
||||
"""Set up test fixtures, if any."""
|
||||
|
||||
def tearDown(self):
|
||||
"""Tear down test fixtures, if any."""
|
||||
self.citizen = Citizen("email", "password", False)
|
||||
self.citizen.config.interactive = False
|
||||
|
||||
def test_000_something(self):
|
||||
"""Test something."""
|
||||
|
||||
def test_command_line_interface(self):
|
||||
"""Test the CLI."""
|
||||
runner = CliRunner()
|
||||
result = runner.invoke(cli.main)
|
||||
assert result.exit_code == 0
|
||||
assert 'erepublik.cli.main' in result.output
|
||||
help_result = runner.invoke(cli.main, ['--help'])
|
||||
assert help_result.exit_code == 0
|
||||
assert '--help Show this message and exit.' in help_result.output
|
||||
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)
|
||||
|
||||
|
Reference in New Issue
Block a user