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