splitbill/test.py
Nikolai Hartmann 9288c9dd56 fix tolerance
2023-09-19 12:28:02 +02:00

19 lines
744 B
Python

import random
from splitbill import solve, perform_transfers
import pytest
@pytest.mark.parametrize("tolerance", [0, 1, 2, 10, 100])
def test_random(tolerance):
balances = {str(k): random.randint(-200, 200) for k in range(7)}
balances["7"] = -sum(balances.values())
balances = {k: v for k, v in balances.items() if v != 0}
transactions = solve(balances, tolerance)
assert abs(sum(perform_transfers(balances, transactions).values())) <= tolerance
def test_bug1():
tolerance = 100
balances = {'0': -39, '1': 139, '2': -54, '3': 99, '4': 13, '5': 175, '6': -173, '7': -160}
transactions = solve(balances, tolerance=tolerance)
assert abs(sum(perform_transfers(balances, transactions).values())) <= tolerance