from decimal import Decimal from invoice_reconciler.normalize import normalize_amount, normalize_invoice_number def test_invoice_number_preserved(): assert normalize_invoice_number(" PW117330 ") == "PW117330" assert normalize_invoice_number("PW117330") == "PW117330" assert normalize_invoice_number("INV-100") == "INV-100" def test_amount_currency_and_commas(): assert normalize_amount("$1,234.50") == Decimal("1234.50") assert normalize_amount("1234.50") == Decimal("1234.50") assert normalize_amount("$8.58") == Decimal("8.58") def test_negative_amounts(): assert normalize_amount("($12.00)") == Decimal("-12.00") assert normalize_amount("-12.00") == Decimal("-12.00") def test_blank_amount(): assert normalize_amount("") is None assert normalize_amount(None) is None assert normalize_amount("N/A") is None