Files
pyfa/tests/test_pyfa_cli_stats.py

63 lines
1.4 KiB
Python

import json
import os
import sys
import tempfile
from io import StringIO
from contextlib import redirect_stdout
script_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.realpath(os.path.join(script_dir, "..")))
from scripts import pyfa_cli_stats # noqa: E402
ISHTAR_SPIDER_FIT = """[Ishtar, Spider]
Capacitor Power Relay II
Drone Damage Amplifier II
Explosive Armor Hardener II
Multispectrum Energized Membrane II
Reactive Armor Hardener
Shadow Serpentis EM Armor Hardener
Cap Recharger II
Omnidirectional Tracking Link II, Tracking Speed Script
Medium Compact Pb-Acid Cap Battery
Republic Fleet Large Cap Battery
Medium Remote Armor Repairer II
Medium Remote Armor Repairer II
Medium Remote Armor Repairer II
Medium Remote Armor Repairer II
Medium Explosive Armor Reinforcer II
Medium Thermal Armor Reinforcer II
Valkyrie II x5
Berserker II x5
"""
def test_ishtar_spider_remote_armor_reps():
payload = {
"fit": ISHTAR_SPIDER_FIT,
}
with tempfile.TemporaryDirectory(ignore_cleanup_errors=True) as tmp:
argv = ["--savepath", tmp, json.dumps(payload)]
buf = StringIO()
with redirect_stdout(buf):
rc = pyfa_cli_stats.main(argv)
assert rc == 0
out = buf.getvalue()
data = json.loads(out)
armor_rps = data["remote_reps_outgoing"]["current"]["armor"]
assert armor_rps is not None
assert int(round(armor_rps)) == 171