fix(nexus_api): correct DPP calculation formula and mock data values
- DPP was calculating damage per PED instead of per PEC (100x error) - Fixed Sollomate Opalo DPP: 3.70 → 3.33 - Added pytest.ini with asyncio configuration - Tests now pass correctly
This commit is contained in:
parent
97b9403b11
commit
a99bccbc11
|
|
@ -190,7 +190,7 @@ MOCK_WEAPONS = {
|
||||||
damage=Decimal("4.0"),
|
damage=Decimal("4.0"),
|
||||||
decay_pec=Decimal("0.13"),
|
decay_pec=Decimal("0.13"),
|
||||||
ammo_pec=Decimal("1.07"),
|
ammo_pec=Decimal("1.07"),
|
||||||
dpp=Decimal("3.70"),
|
dpp=Decimal("3.33"),
|
||||||
range=26,
|
range=26,
|
||||||
attacks_per_min=56,
|
attacks_per_min=56,
|
||||||
item_id="sollomate_opalo"
|
item_id="sollomate_opalo"
|
||||||
|
|
@ -812,12 +812,12 @@ def calculate_dpp(damage: Decimal, decay_pec: Decimal, ammo_pec: Decimal) -> Dec
|
||||||
ammo_pec: Ammo cost per shot in PEC
|
ammo_pec: Ammo cost per shot in PEC
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
DPP value
|
DPP value (damage per PEC spent)
|
||||||
"""
|
"""
|
||||||
total_cost_ped = (decay_pec + ammo_pec) / 100
|
total_cost_pec = decay_pec + ammo_pec
|
||||||
if total_cost_ped == 0:
|
if total_cost_pec == 0:
|
||||||
return Decimal("0")
|
return Decimal("0")
|
||||||
return damage / total_cost_ped
|
return damage / total_cost_pec
|
||||||
|
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
[tool:pytest]
|
||||||
|
testpaths = tests
|
||||||
|
python_files = test_*.py
|
||||||
|
python_classes = Test*
|
||||||
|
python_functions = test_*
|
||||||
|
asyncio_mode = auto
|
||||||
|
asyncio_default_fixture_loop_scope = function
|
||||||
|
addopts = -v --tb=short
|
||||||
Loading…
Reference in New Issue