diff --git a/_development/helpers.py b/_development/helpers.py index ac1c4d1fd..b35ac835f 100644 --- a/_development/helpers.py +++ b/_development/helpers.py @@ -130,8 +130,10 @@ def Saveddata(): from eos.saveddata.fit import Fit from eos.saveddata.character import Character from eos.saveddata.module import Module, State + from eos.saveddata.citadel import Citadel helper = { + 'Structure': Citadel, 'Ship' : Ship, 'Fit' : Fit, 'Character': Character, diff --git a/_development/helpers_fits.py b/_development/helpers_fits.py new file mode 100644 index 000000000..0e41b9f6e --- /dev/null +++ b/_development/helpers_fits.py @@ -0,0 +1,28 @@ +import pytest + +# noinspection PyPackageRequirements +from _development.helpers import DBInMemory as DB, Gamedata, Saveddata + + +# noinspection PyShadowingNames +@pytest.fixture +def RifterFit(DB, Gamedata, Saveddata): + print("Creating Rifter") + item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Rifter").first() + ship = Saveddata['Ship'](item) + # setup fit + fit = Saveddata['Fit'](ship, "My Rifter Fit") + + return fit + + +# noinspection PyShadowingNames +@pytest.fixture +def KeepstarFit(DB, Gamedata, Saveddata): + print("Creating Keepstar") + item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Keepstar").first() + ship = Saveddata['Structure'](item) + # setup fit + fit = Saveddata['Fit'](ship, "Keepstar Fit") + + return fit diff --git a/eos/config.py b/eos/config.py index 02efdfafb..9dc0eabbc 100644 --- a/eos/config.py +++ b/eos/config.py @@ -13,7 +13,7 @@ gamedata_version = "" gamedata_connectionstring = 'sqlite:///' + unicode(realpath(join(dirname(abspath(__file__)), "..", "eve.db")), sys.getfilesystemencoding()) pyfalog.debug("Gamedata connection string: {0}", gamedata_connectionstring) -if istravis is True or sys._called_from_test: +if istravis is True or hasattr(sys, '_called_from_test'): # Running in Travis. Run saveddata database in memory. saveddata_connectionstring = 'sqlite:///:memory:' else: diff --git a/tests/test_modules/test_eos/test_gamedata.py b/tests/test_modules/test_eos/test_gamedata.py new file mode 100644 index 000000000..fa20aaa5e --- /dev/null +++ b/tests/test_modules/test_eos/test_gamedata.py @@ -0,0 +1,17 @@ +# Add root folder to python paths +# This must be done on every test in order to pass in Travis +import os +import sys +script_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..'))) + +# noinspection PyPackageRequirements +from _development.helpers import DBInMemory as DB, Gamedata, Saveddata +from _development.helpers_fits import RifterFit, KeepstarFit + +def test_race(DB, RifterFit, KeepstarFit): + """ + Test race code + """ + assert RifterFit.ship.item.race == 'minmatar' + assert KeepstarFit.ship.item.race == 'upwell' diff --git a/tests/test_modules/test_eos/test_modifiedAttributeDict.py b/tests/test_modules/test_eos/test_modifiedAttributeDict.py new file mode 100644 index 000000000..ee7d6c4ea --- /dev/null +++ b/tests/test_modules/test_eos/test_modifiedAttributeDict.py @@ -0,0 +1,44 @@ +# Add root folder to python paths +# This must be done on every test in order to pass in Travis +import math +import os +import sys +script_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..'))) + +# noinspection PyPackageRequirements +from _development.helpers import DBInMemory as DB, Gamedata, Saveddata +from _development.helpers_fits import RifterFit + +def test_multiply_stacking_penalties(DB, Saveddata, RifterFit): + """ + Tests the stacking penalties under multiply + """ + char0 = Saveddata['Character'].getAll0() + + RifterFit.character = char0 + starting_em_resist = RifterFit.ship.getModifiedItemAttr("shieldEmDamageResonance") + + mod = Saveddata['Module'](DB['db'].getItem("EM Ward Amplifier II")) + item_modifer = mod.item.getAttribute("emDamageResistanceBonus") + RifterFit.calculateModifiedAttributes() + + + for _ in range(10): + current_effectiveness = pow(0.5, (pow(0.45 * (_ - 1), 2))) + + if _ == 0: + calculated_resist = RifterFit.ship.getModifiedItemAttr("shieldEmDamageResonance") + else: + new_item_modifier = 1 + ((item_modifer * current_effectiveness) / 100) + calculated_resist = (em_resist * new_item_modifier) + RifterFit.clear() + RifterFit.modules.append(mod) + RifterFit.calculateModifiedAttributes() + + em_resist = RifterFit.ship.getModifiedItemAttr("shieldEmDamageResonance") + + # Ohnoes! Our stacking penalty calculations are off! Round off because the ones in Eos are probably wrong after four decimal places. + # TODO: Remove the round when Eos calcs are fixed + assert round(em_resist, 4) == round(calculated_resist, 4) + print(str(em_resist) + "==" + str(calculated_resist)) diff --git a/tests/test_modules/gui/test_aboutData.py b/tests/test_modules/test_gui/test_aboutData.py similarity index 100% rename from tests/test_modules/gui/test_aboutData.py rename to tests/test_modules/test_gui/test_aboutData.py diff --git a/tests/test_modules/service/test_attribute.py b/tests/test_modules/test_service/test_attribute.py similarity index 100% rename from tests/test_modules/service/test_attribute.py rename to tests/test_modules/test_service/test_attribute.py diff --git a/tests/test_smoketests/test_rifter.py b/tests/test_smoketests/test_rifter.py index 195dcacb8..b6bb63ca5 100644 --- a/tests/test_smoketests/test_rifter.py +++ b/tests/test_smoketests/test_rifter.py @@ -1,5 +1,3 @@ -import pytest - # Add root folder to python paths # This must be done on every test in order to pass in Travis import os @@ -9,242 +7,229 @@ sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..'))) # noinspection PyPackageRequirements from _development.helpers import DBInMemory as DB, Gamedata, Saveddata +from _development.helpers_fits import RifterFit # noinspection PyShadowingNames -@pytest.fixture -def Rifter(DB, Gamedata, Saveddata): - print("Creating Rifter") - print(DB['gamedata_session'].bind) - print(DB['saveddata_session'].bind) - item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Rifter").first() - ship = Saveddata['Ship'](item) - # setup fit - fit = Saveddata['Fit'](ship, "My Rifter Fit") - - return fit - - -# noinspection PyShadowingNames -def test_rifter_empty_char0(DB, Saveddata, Rifter): +def test_rifter_empty_char0(DB, Saveddata, RifterFit): """ We test an empty ship because if we use this as a base for testing our V skills, - and CCP ever fucks we the base states, all our derived stats will be wrong. + and CCP ever fucks with the base states, all our derived stats will be wrong. """ char0 = Saveddata['Character'].getAll0() - Rifter.character = char0 - Rifter.calculateModifiedAttributes() + RifterFit.character = char0 + RifterFit.calculateModifiedAttributes() - assert Rifter.ship.getModifiedItemAttr("agility") == 3.2 - assert Rifter.ship.getModifiedItemAttr("armorEmDamageResonance") == 0.4 - assert Rifter.ship.getModifiedItemAttr("armorExplosiveDamageResonance") == 0.9 - assert Rifter.ship.getModifiedItemAttr("armorHP") == 450.0 - assert Rifter.ship.getModifiedItemAttr("armorKineticDamageResonance") == 0.75 - assert Rifter.ship.getModifiedItemAttr("armorThermalDamageResonance") == 0.65 - assert Rifter.ship.getModifiedItemAttr("armorUniformity") == 0.75 - assert Rifter.ship.getModifiedItemAttr("baseWarpSpeed") == 1.0 - assert Rifter.ship.getModifiedItemAttr("capacitorCapacity") == 250.0 - assert Rifter.ship.getModifiedItemAttr("capacity") == 140.0 - assert Rifter.ship.getModifiedItemAttr("cpuLoad") == 0.0 - assert Rifter.ship.getModifiedItemAttr("cpuOutput") == 130.0 - assert Rifter.ship.getModifiedItemAttr("damage") == 0.0 - assert Rifter.ship.getModifiedItemAttr("droneBandwidth") == 0.0 - assert Rifter.ship.getModifiedItemAttr("droneCapacity") == 0.0 - assert Rifter.ship.getModifiedItemAttr("emDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("explosiveDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("fwLpKill") == 25.0 - assert Rifter.ship.getModifiedItemAttr("gfxBoosterID") == 397.0 - assert Rifter.ship.getModifiedItemAttr("heatAttenuationHi") == 0.63 - assert Rifter.ship.getModifiedItemAttr("heatAttenuationLow") == 0.5 - assert Rifter.ship.getModifiedItemAttr("heatAttenuationMed") == 0.5 - assert Rifter.ship.getModifiedItemAttr("heatCapacityHi") == 100.0 - assert Rifter.ship.getModifiedItemAttr("heatCapacityLow") == 100.0 - assert Rifter.ship.getModifiedItemAttr("heatCapacityMed") == 100.0 - assert Rifter.ship.getModifiedItemAttr("heatDissipationRateHi") == 0.01 - assert Rifter.ship.getModifiedItemAttr("heatDissipationRateLow") == 0.01 - assert Rifter.ship.getModifiedItemAttr("heatDissipationRateMed") == 0.01 - assert Rifter.ship.getModifiedItemAttr("heatGenerationMultiplier") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hiSlots") == 4.0 - assert Rifter.ship.getModifiedItemAttr("hp") == 350.0 - assert Rifter.ship.getModifiedItemAttr("hullEmDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hullExplosiveDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hullKineticDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hullThermalDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("kineticDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("launcherSlotsLeft") == 2.0 - assert Rifter.ship.getModifiedItemAttr("lowSlots") == 3.0 - assert Rifter.ship.getModifiedItemAttr("mainColor") == 16777215.0 - assert Rifter.ship.getModifiedItemAttr("mass") == 1067000.0 - assert Rifter.ship.getModifiedItemAttr("maxDirectionalVelocity") == 3000.0 - assert Rifter.ship.getModifiedItemAttr("maxLockedTargets") == 4.0 - assert Rifter.ship.getModifiedItemAttr("maxPassengers") == 2.0 - assert Rifter.ship.getModifiedItemAttr("maxTargetRange") == 22500.0 - assert Rifter.ship.getModifiedItemAttr("maxVelocity") == 365.0 - assert Rifter.ship.getModifiedItemAttr("medSlots") == 3.0 - assert Rifter.ship.getModifiedItemAttr("metaLevel") == 0.0 - assert Rifter.ship.getModifiedItemAttr("minTargetVelDmgMultiplier") == 0.05 - assert Rifter.ship.getModifiedItemAttr("powerLoad") == 0.0 - assert Rifter.ship.getModifiedItemAttr("powerOutput") == 41.0 - assert Rifter.ship.getModifiedItemAttr("powerToSpeed") == 1.0 - assert Rifter.ship.getModifiedItemAttr("propulsionGraphicID") == 397.0 - assert Rifter.ship.getModifiedItemAttr("radius") == 31.0 - assert Rifter.ship.getModifiedItemAttr("rechargeRate") == 125000.0 - assert Rifter.ship.getModifiedItemAttr("requiredSkill1") == 3329.0 - assert Rifter.ship.getModifiedItemAttr("requiredSkill1Level") == 1.0 - assert Rifter.ship.getModifiedItemAttr("rigSize") == 1.0 - assert Rifter.ship.getModifiedItemAttr("rigSlots") == 3.0 - assert Rifter.ship.getModifiedItemAttr("scanGravimetricStrength") == 0.0 - assert Rifter.ship.getModifiedItemAttr("scanLadarStrength") == 8.0 - assert Rifter.ship.getModifiedItemAttr("scanMagnetometricStrength") == 0.0 - assert Rifter.ship.getModifiedItemAttr("scanRadarStrength") == 0.0 - assert Rifter.ship.getModifiedItemAttr("scanResolution") == 660.0 - assert Rifter.ship.getModifiedItemAttr("scanSpeed") == 1500.0 - assert Rifter.ship.getModifiedItemAttr("shieldCapacity") == 450.0 - assert Rifter.ship.getModifiedItemAttr("shieldEmDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("shieldExplosiveDamageResonance") == 0.5 - assert Rifter.ship.getModifiedItemAttr("shieldKineticDamageResonance") == 0.6 - assert Rifter.ship.getModifiedItemAttr("shieldRechargeRate") == 625000.0 - assert Rifter.ship.getModifiedItemAttr("shieldThermalDamageResonance") == 0.8 - assert Rifter.ship.getModifiedItemAttr("shieldUniformity") == 0.75 - assert Rifter.ship.getModifiedItemAttr("shipBonusMF") == 5.0 - assert Rifter.ship.getModifiedItemAttr("shipBonusMF2") == 10.0 - assert Rifter.ship.getModifiedItemAttr("shipScanResistance") == 0.0 - assert Rifter.ship.getModifiedItemAttr("signatureRadius") == 35.0 - assert Rifter.ship.getModifiedItemAttr("structureUniformity") == 1.0 - assert Rifter.ship.getModifiedItemAttr("techLevel") == 1.0 - assert Rifter.ship.getModifiedItemAttr("thermalDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("turretSlotsLeft") == 3.0 - assert Rifter.ship.getModifiedItemAttr("typeColorScheme") == 11342.0 - assert Rifter.ship.getModifiedItemAttr("uniformity") == 1.0 - assert Rifter.ship.getModifiedItemAttr("upgradeCapacity") == 400.0 - assert Rifter.ship.getModifiedItemAttr("upgradeSlotsLeft") == 3.0 - assert Rifter.ship.getModifiedItemAttr("volume") == 27289.0 - assert Rifter.ship.getModifiedItemAttr("warpCapacitorNeed") == 2.24e-06 - assert Rifter.ship.getModifiedItemAttr("warpFactor") == 0.0 - assert Rifter.ship.getModifiedItemAttr("warpSpeedMultiplier") == 5.0 + assert RifterFit.ship.getModifiedItemAttr("agility") == 3.2 + assert RifterFit.ship.getModifiedItemAttr("armorEmDamageResonance") == 0.4 + assert RifterFit.ship.getModifiedItemAttr("armorExplosiveDamageResonance") == 0.9 + assert RifterFit.ship.getModifiedItemAttr("armorHP") == 450.0 + assert RifterFit.ship.getModifiedItemAttr("armorKineticDamageResonance") == 0.75 + assert RifterFit.ship.getModifiedItemAttr("armorThermalDamageResonance") == 0.65 + assert RifterFit.ship.getModifiedItemAttr("armorUniformity") == 0.75 + assert RifterFit.ship.getModifiedItemAttr("baseWarpSpeed") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("capacitorCapacity") == 250.0 + assert RifterFit.ship.getModifiedItemAttr("capacity") == 140.0 + assert RifterFit.ship.getModifiedItemAttr("cpuLoad") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("cpuOutput") == 130.0 + assert RifterFit.ship.getModifiedItemAttr("damage") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("droneBandwidth") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("droneCapacity") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("emDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("explosiveDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("fwLpKill") == 25.0 + assert RifterFit.ship.getModifiedItemAttr("gfxBoosterID") == 397.0 + assert RifterFit.ship.getModifiedItemAttr("heatAttenuationHi") == 0.63 + assert RifterFit.ship.getModifiedItemAttr("heatAttenuationLow") == 0.5 + assert RifterFit.ship.getModifiedItemAttr("heatAttenuationMed") == 0.5 + assert RifterFit.ship.getModifiedItemAttr("heatCapacityHi") == 100.0 + assert RifterFit.ship.getModifiedItemAttr("heatCapacityLow") == 100.0 + assert RifterFit.ship.getModifiedItemAttr("heatCapacityMed") == 100.0 + assert RifterFit.ship.getModifiedItemAttr("heatDissipationRateHi") == 0.01 + assert RifterFit.ship.getModifiedItemAttr("heatDissipationRateLow") == 0.01 + assert RifterFit.ship.getModifiedItemAttr("heatDissipationRateMed") == 0.01 + assert RifterFit.ship.getModifiedItemAttr("heatGenerationMultiplier") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hiSlots") == 4.0 + assert RifterFit.ship.getModifiedItemAttr("hp") == 350.0 + assert RifterFit.ship.getModifiedItemAttr("hullEmDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hullExplosiveDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hullKineticDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hullThermalDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("kineticDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("launcherSlotsLeft") == 2.0 + assert RifterFit.ship.getModifiedItemAttr("lowSlots") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("mainColor") == 16777215.0 + assert RifterFit.ship.getModifiedItemAttr("mass") == 1067000.0 + assert RifterFit.ship.getModifiedItemAttr("maxDirectionalVelocity") == 3000.0 + assert RifterFit.ship.getModifiedItemAttr("maxLockedTargets") == 4.0 + assert RifterFit.ship.getModifiedItemAttr("maxPassengers") == 2.0 + assert RifterFit.ship.getModifiedItemAttr("maxTargetRange") == 22500.0 + assert RifterFit.ship.getModifiedItemAttr("maxVelocity") == 365.0 + assert RifterFit.ship.getModifiedItemAttr("medSlots") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("metaLevel") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("minTargetVelDmgMultiplier") == 0.05 + assert RifterFit.ship.getModifiedItemAttr("powerLoad") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("powerOutput") == 41.0 + assert RifterFit.ship.getModifiedItemAttr("powerToSpeed") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("propulsionGraphicID") == 397.0 + assert RifterFit.ship.getModifiedItemAttr("radius") == 31.0 + assert RifterFit.ship.getModifiedItemAttr("rechargeRate") == 125000.0 + assert RifterFit.ship.getModifiedItemAttr("requiredSkill1") == 3329.0 + assert RifterFit.ship.getModifiedItemAttr("requiredSkill1Level") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("rigSize") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("rigSlots") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("scanGravimetricStrength") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("scanLadarStrength") == 8.0 + assert RifterFit.ship.getModifiedItemAttr("scanMagnetometricStrength") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("scanRadarStrength") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("scanResolution") == 660.0 + assert RifterFit.ship.getModifiedItemAttr("scanSpeed") == 1500.0 + assert RifterFit.ship.getModifiedItemAttr("shieldCapacity") == 450.0 + assert RifterFit.ship.getModifiedItemAttr("shieldEmDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("shieldExplosiveDamageResonance") == 0.5 + assert RifterFit.ship.getModifiedItemAttr("shieldKineticDamageResonance") == 0.6 + assert RifterFit.ship.getModifiedItemAttr("shieldRechargeRate") == 625000.0 + assert RifterFit.ship.getModifiedItemAttr("shieldThermalDamageResonance") == 0.8 + assert RifterFit.ship.getModifiedItemAttr("shieldUniformity") == 0.75 + assert RifterFit.ship.getModifiedItemAttr("shipBonusMF") == 5.0 + assert RifterFit.ship.getModifiedItemAttr("shipBonusMF2") == 10.0 + assert RifterFit.ship.getModifiedItemAttr("shipScanResistance") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("signatureRadius") == 35.0 + assert RifterFit.ship.getModifiedItemAttr("structureUniformity") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("techLevel") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("thermalDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("turretSlotsLeft") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("typeColorScheme") == 11342.0 + assert RifterFit.ship.getModifiedItemAttr("uniformity") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("upgradeCapacity") == 400.0 + assert RifterFit.ship.getModifiedItemAttr("upgradeSlotsLeft") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("volume") == 27289.0 + assert RifterFit.ship.getModifiedItemAttr("warpCapacitorNeed") == 2.24e-06 + assert RifterFit.ship.getModifiedItemAttr("warpFactor") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("warpSpeedMultiplier") == 5.0 # noinspection PyShadowingNames -def test_rifter_empty_char5(DB, Saveddata, Rifter): +def test_rifter_empty_char5(DB, Saveddata, RifterFit): """ Test char skills applying to a ship """ char5 = Saveddata['Character'].getAll5() - Rifter.character = char5 - Rifter.calculateModifiedAttributes() + RifterFit.character = char5 + RifterFit.calculateModifiedAttributes() - assert Rifter.ship.getModifiedItemAttr("agility") == 2.16 - assert Rifter.ship.getModifiedItemAttr("armorEmDamageResonance") == 0.4 - assert Rifter.ship.getModifiedItemAttr("armorExplosiveDamageResonance") == 0.9 - assert Rifter.ship.getModifiedItemAttr("armorHP") == 562.5 - assert Rifter.ship.getModifiedItemAttr("armorKineticDamageResonance") == 0.75 - assert Rifter.ship.getModifiedItemAttr("armorThermalDamageResonance") == 0.65 - assert Rifter.ship.getModifiedItemAttr("armorUniformity") == 0.75 - assert Rifter.ship.getModifiedItemAttr("baseWarpSpeed") == 1.0 - assert Rifter.ship.getModifiedItemAttr("capacitorCapacity") == 312.5 - assert Rifter.ship.getModifiedItemAttr("capacity") == 140.0 - assert Rifter.ship.getModifiedItemAttr("cpuLoad") == 0.0 - assert Rifter.ship.getModifiedItemAttr("cpuOutput") == 162.5 - assert Rifter.ship.getModifiedItemAttr("damage") == 0.0 - assert Rifter.ship.getModifiedItemAttr("droneBandwidth") == 0.0 - assert Rifter.ship.getModifiedItemAttr("droneCapacity") == 0.0 - assert Rifter.ship.getModifiedItemAttr("emDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("explosiveDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("fwLpKill") == 25.0 - assert Rifter.ship.getModifiedItemAttr("gfxBoosterID") == 397.0 - assert Rifter.ship.getModifiedItemAttr("heatAttenuationHi") == 0.63 - assert Rifter.ship.getModifiedItemAttr("heatAttenuationLow") == 0.5 - assert Rifter.ship.getModifiedItemAttr("heatAttenuationMed") == 0.5 - assert Rifter.ship.getModifiedItemAttr("heatCapacityHi") == 100.0 - assert Rifter.ship.getModifiedItemAttr("heatCapacityLow") == 100.0 - assert Rifter.ship.getModifiedItemAttr("heatCapacityMed") == 100.0 - assert Rifter.ship.getModifiedItemAttr("heatDissipationRateHi") == 0.01 - assert Rifter.ship.getModifiedItemAttr("heatDissipationRateLow") == 0.01 - assert Rifter.ship.getModifiedItemAttr("heatDissipationRateMed") == 0.01 - assert Rifter.ship.getModifiedItemAttr("heatGenerationMultiplier") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hiSlots") == 4.0 - assert Rifter.ship.getModifiedItemAttr("hp") == 437.5 - assert Rifter.ship.getModifiedItemAttr("hullEmDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hullExplosiveDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hullKineticDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("hullThermalDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("kineticDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("launcherSlotsLeft") == 2.0 - assert Rifter.ship.getModifiedItemAttr("lowSlots") == 3.0 - assert Rifter.ship.getModifiedItemAttr("mainColor") == 16777215.0 - assert Rifter.ship.getModifiedItemAttr("mass") == 1067000.0 - assert Rifter.ship.getModifiedItemAttr("maxDirectionalVelocity") == 3000.0 - assert Rifter.ship.getModifiedItemAttr("maxLockedTargets") == 4.0 - assert Rifter.ship.getModifiedItemAttr("maxPassengers") == 2.0 - assert Rifter.ship.getModifiedItemAttr("maxTargetRange") == 28125.0 - assert Rifter.ship.getModifiedItemAttr("maxVelocity") == 456.25 - assert Rifter.ship.getModifiedItemAttr("medSlots") == 3.0 - assert Rifter.ship.getModifiedItemAttr("metaLevel") == 0.0 - assert Rifter.ship.getModifiedItemAttr("minTargetVelDmgMultiplier") == 0.05 - assert Rifter.ship.getModifiedItemAttr("powerLoad") == 0.0 - assert Rifter.ship.getModifiedItemAttr("powerOutput") == 51.25 - assert Rifter.ship.getModifiedItemAttr("powerToSpeed") == 1.0 - assert Rifter.ship.getModifiedItemAttr("propulsionGraphicID") == 397.0 - assert Rifter.ship.getModifiedItemAttr("radius") == 31.0 - assert Rifter.ship.getModifiedItemAttr("rechargeRate") == 93750.0 - assert Rifter.ship.getModifiedItemAttr("requiredSkill1") == 3329.0 - assert Rifter.ship.getModifiedItemAttr("requiredSkill1Level") == 1.0 - assert Rifter.ship.getModifiedItemAttr("rigSize") == 1.0 - assert Rifter.ship.getModifiedItemAttr("rigSlots") == 3.0 - assert Rifter.ship.getModifiedItemAttr("scanGravimetricStrength") == 0.0 - assert Rifter.ship.getModifiedItemAttr("scanLadarStrength") == 9.6 - assert Rifter.ship.getModifiedItemAttr("scanMagnetometricStrength") == 0.0 - assert Rifter.ship.getModifiedItemAttr("scanRadarStrength") == 0.0 - assert Rifter.ship.getModifiedItemAttr("scanResolution") == 825.0 - assert Rifter.ship.getModifiedItemAttr("scanSpeed") == 1500.0 - assert Rifter.ship.getModifiedItemAttr("shieldCapacity") == 562.5 - assert Rifter.ship.getModifiedItemAttr("shieldEmDamageResonance") == 1.0 - assert Rifter.ship.getModifiedItemAttr("shieldExplosiveDamageResonance") == 0.5 - assert Rifter.ship.getModifiedItemAttr("shieldKineticDamageResonance") == 0.6 - assert Rifter.ship.getModifiedItemAttr("shieldRechargeRate") == 468750.0 - assert Rifter.ship.getModifiedItemAttr("shieldThermalDamageResonance") == 0.8 - assert Rifter.ship.getModifiedItemAttr("shieldUniformity") == 1 - assert Rifter.ship.getModifiedItemAttr("shipBonusMF") == 5.0 - assert Rifter.ship.getModifiedItemAttr("shipBonusMF2") == 10.0 - assert Rifter.ship.getModifiedItemAttr("shipScanResistance") == 0.0 - assert Rifter.ship.getModifiedItemAttr("signatureRadius") == 35.0 - assert Rifter.ship.getModifiedItemAttr("structureUniformity") == 1.0 - assert Rifter.ship.getModifiedItemAttr("techLevel") == 1.0 - assert Rifter.ship.getModifiedItemAttr("thermalDamageResonance") == 0.67 - assert Rifter.ship.getModifiedItemAttr("turretSlotsLeft") == 3.0 - assert Rifter.ship.getModifiedItemAttr("typeColorScheme") == 11342.0 - assert Rifter.ship.getModifiedItemAttr("uniformity") == 1.0 - assert Rifter.ship.getModifiedItemAttr("upgradeCapacity") == 400.0 - assert Rifter.ship.getModifiedItemAttr("upgradeSlotsLeft") == 3.0 - assert Rifter.ship.getModifiedItemAttr("volume") == 27289.0 - assert Rifter.ship.getModifiedItemAttr("warpCapacitorNeed") == 1.12e-06 - assert Rifter.ship.getModifiedItemAttr("warpFactor") == 0.0 - assert Rifter.ship.getModifiedItemAttr("warpSpeedMultiplier") == 5.0 + assert RifterFit.ship.getModifiedItemAttr("agility") == 2.16 + assert RifterFit.ship.getModifiedItemAttr("armorEmDamageResonance") == 0.4 + assert RifterFit.ship.getModifiedItemAttr("armorExplosiveDamageResonance") == 0.9 + assert RifterFit.ship.getModifiedItemAttr("armorHP") == 562.5 + assert RifterFit.ship.getModifiedItemAttr("armorKineticDamageResonance") == 0.75 + assert RifterFit.ship.getModifiedItemAttr("armorThermalDamageResonance") == 0.65 + assert RifterFit.ship.getModifiedItemAttr("armorUniformity") == 0.75 + assert RifterFit.ship.getModifiedItemAttr("baseWarpSpeed") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("capacitorCapacity") == 312.5 + assert RifterFit.ship.getModifiedItemAttr("capacity") == 140.0 + assert RifterFit.ship.getModifiedItemAttr("cpuLoad") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("cpuOutput") == 162.5 + assert RifterFit.ship.getModifiedItemAttr("damage") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("droneBandwidth") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("droneCapacity") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("emDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("explosiveDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("fwLpKill") == 25.0 + assert RifterFit.ship.getModifiedItemAttr("gfxBoosterID") == 397.0 + assert RifterFit.ship.getModifiedItemAttr("heatAttenuationHi") == 0.63 + assert RifterFit.ship.getModifiedItemAttr("heatAttenuationLow") == 0.5 + assert RifterFit.ship.getModifiedItemAttr("heatAttenuationMed") == 0.5 + assert RifterFit.ship.getModifiedItemAttr("heatCapacityHi") == 100.0 + assert RifterFit.ship.getModifiedItemAttr("heatCapacityLow") == 100.0 + assert RifterFit.ship.getModifiedItemAttr("heatCapacityMed") == 100.0 + assert RifterFit.ship.getModifiedItemAttr("heatDissipationRateHi") == 0.01 + assert RifterFit.ship.getModifiedItemAttr("heatDissipationRateLow") == 0.01 + assert RifterFit.ship.getModifiedItemAttr("heatDissipationRateMed") == 0.01 + assert RifterFit.ship.getModifiedItemAttr("heatGenerationMultiplier") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hiSlots") == 4.0 + assert RifterFit.ship.getModifiedItemAttr("hp") == 437.5 + assert RifterFit.ship.getModifiedItemAttr("hullEmDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hullExplosiveDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hullKineticDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("hullThermalDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("kineticDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("launcherSlotsLeft") == 2.0 + assert RifterFit.ship.getModifiedItemAttr("lowSlots") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("mainColor") == 16777215.0 + assert RifterFit.ship.getModifiedItemAttr("mass") == 1067000.0 + assert RifterFit.ship.getModifiedItemAttr("maxDirectionalVelocity") == 3000.0 + assert RifterFit.ship.getModifiedItemAttr("maxLockedTargets") == 4.0 + assert RifterFit.ship.getModifiedItemAttr("maxPassengers") == 2.0 + assert RifterFit.ship.getModifiedItemAttr("maxTargetRange") == 28125.0 + assert RifterFit.ship.getModifiedItemAttr("maxVelocity") == 456.25 + assert RifterFit.ship.getModifiedItemAttr("medSlots") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("metaLevel") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("minTargetVelDmgMultiplier") == 0.05 + assert RifterFit.ship.getModifiedItemAttr("powerLoad") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("powerOutput") == 51.25 + assert RifterFit.ship.getModifiedItemAttr("powerToSpeed") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("propulsionGraphicID") == 397.0 + assert RifterFit.ship.getModifiedItemAttr("radius") == 31.0 + assert RifterFit.ship.getModifiedItemAttr("rechargeRate") == 93750.0 + assert RifterFit.ship.getModifiedItemAttr("requiredSkill1") == 3329.0 + assert RifterFit.ship.getModifiedItemAttr("requiredSkill1Level") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("rigSize") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("rigSlots") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("scanGravimetricStrength") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("scanLadarStrength") == 9.6 + assert RifterFit.ship.getModifiedItemAttr("scanMagnetometricStrength") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("scanRadarStrength") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("scanResolution") == 825.0 + assert RifterFit.ship.getModifiedItemAttr("scanSpeed") == 1500.0 + assert RifterFit.ship.getModifiedItemAttr("shieldCapacity") == 562.5 + assert RifterFit.ship.getModifiedItemAttr("shieldEmDamageResonance") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("shieldExplosiveDamageResonance") == 0.5 + assert RifterFit.ship.getModifiedItemAttr("shieldKineticDamageResonance") == 0.6 + assert RifterFit.ship.getModifiedItemAttr("shieldRechargeRate") == 468750.0 + assert RifterFit.ship.getModifiedItemAttr("shieldThermalDamageResonance") == 0.8 + assert RifterFit.ship.getModifiedItemAttr("shieldUniformity") == 1 + assert RifterFit.ship.getModifiedItemAttr("shipBonusMF") == 5.0 + assert RifterFit.ship.getModifiedItemAttr("shipBonusMF2") == 10.0 + assert RifterFit.ship.getModifiedItemAttr("shipScanResistance") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("signatureRadius") == 35.0 + assert RifterFit.ship.getModifiedItemAttr("structureUniformity") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("techLevel") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("thermalDamageResonance") == 0.67 + assert RifterFit.ship.getModifiedItemAttr("turretSlotsLeft") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("typeColorScheme") == 11342.0 + assert RifterFit.ship.getModifiedItemAttr("uniformity") == 1.0 + assert RifterFit.ship.getModifiedItemAttr("upgradeCapacity") == 400.0 + assert RifterFit.ship.getModifiedItemAttr("upgradeSlotsLeft") == 3.0 + assert RifterFit.ship.getModifiedItemAttr("volume") == 27289.0 + assert RifterFit.ship.getModifiedItemAttr("warpCapacitorNeed") == 1.12e-06 + assert RifterFit.ship.getModifiedItemAttr("warpFactor") == 0.0 + assert RifterFit.ship.getModifiedItemAttr("warpSpeedMultiplier") == 5.0 # noinspection PyShadowingNames -def test_rifter_coprocessor(DB, Saveddata, Rifter): +def test_rifter_coprocessor(DB, Saveddata, RifterFit): char5 = Saveddata['Character'].getAll5() char0 = Saveddata['Character'].getAll0() - Rifter.character = char0 + RifterFit.character = char0 mod = Saveddata['Module'](DB['db'].getItem("Co-Processor II")) mod.state = Saveddata['State'].OFFLINE - Rifter.modules.append(mod) + RifterFit.modules.append(mod) - assert Rifter.ship.getModifiedItemAttr("cpuOutput") == 130 + assert RifterFit.ship.getModifiedItemAttr("cpuOutput") == 130 - Rifter.calculateModifiedAttributes() - assert Rifter.ship.getModifiedItemAttr("cpuOutput") == 130 + RifterFit.calculateModifiedAttributes() + assert RifterFit.ship.getModifiedItemAttr("cpuOutput") == 130 mod.state = Saveddata['State'].ONLINE - Rifter.clear() - Rifter.calculateModifiedAttributes() - assert Rifter.ship.getModifiedItemAttr("cpuOutput") == 143 + RifterFit.clear() + RifterFit.calculateModifiedAttributes() + assert RifterFit.ship.getModifiedItemAttr("cpuOutput") == 143 - Rifter.character = char5 - Rifter.clear() - Rifter.calculateModifiedAttributes() - assert Rifter.ship.getModifiedItemAttr("cpuOutput") == 178.75 + RifterFit.character = char5 + RifterFit.clear() + RifterFit.calculateModifiedAttributes() + assert RifterFit.ship.getModifiedItemAttr("cpuOutput") == 178.75