paper-dynasty-card-creation/tests/test_batter_calcs.py
2024-10-17 09:28:02 -05:00

69 lines
1.9 KiB
Python

from decimal import ROUND_HALF_EVEN, Decimal
import math
from batters.calcs_batter import bp_singles, wh_singles, sanitize_chance_output
from creation_helpers import sanitize_chance_output, mround
def test_sanitize():
# def my_round_decimal(i: float):
# return Decimal(i).quantize(Decimal('0.05'), ROUND_HALF_EVEN)
# def my_round(num: float, to: float = 0.05):
# num, to = Decimal(str(num)), Decimal(str(to))
# return float(round(num / to) * to)
# assert my_round(6) == 6
# assert my_round(5.96) == 5.95
# assert my_round(5.84) == 5.85
# assert my_round(3.123) == 3.1
# assert math.floor(my_round(6)) == 6
# assert math.floor(my_round(5.96)) == 5
assert sanitize_chance_output(6) == 6.0
assert sanitize_chance_output(1.21) == 1.2
assert sanitize_chance_output(4.77) == 4.75
assert sanitize_chance_output(4.78) == 4.8
# step_1 = Decimal(6) / Decimal(0.05)
# step_1_5 = round(step_1, )
# step_2 = round(step_1)
# step_3 = float(step_2 * Decimal(0.05))
# step_4 = Decimal(step_3)
# assert Decimal(6) == Decimal(6).quantize(Decimal('0.05'), ROUND_HALF_EVEN)
# assert round(step_1) == 120
# # assert step_1 == 120
# assert step_1_5 == 120
# assert step_2 == 120
# assert step_3 == 6.0
# assert step_4 == Decimal('6.0')
# rounded_val = step_4.quantize(Decimal("0.05"), ROUND_HALF_EVEN)
# assert rounded_val == 6
# assert sanitize_chance_output(6) == 6
def test_mround():
assert mround(6) == 6.0
assert mround(1.21) == 1.2
assert mround(4.77) == 4.75
assert mround(4.78) == 4.8
def test_decimals():
assert Decimal(8) == 8
def test_bp_singles():
assert bp_singles(23) == 5
assert bp_singles(6) == 5
assert bp_singles(3) == 0
def test_wh_singles():
assert wh_singles(11, .36) == 3.75
assert wh_singles(12, .45) == Decimal('7.95')