Files
zhuangang/topics/ai/ai-coding/examples/ai-workflow/sample/test_pricing.py
T

25 lines
700 B
Python

# requires: pytest
"""人工补充的边界测试:AI 第一版代码在“优惠券大于金额”时返回了负数,这些测试把它拦了下来。"""
from decimal import Decimal
import pytest
from pricing import final_price
def test_normal():
assert final_price(Decimal("100"), Decimal("10"), vip=False) == Decimal("90.00")
def test_vip_rounding():
assert final_price(Decimal("10.01"), Decimal("0"), vip=True) == Decimal("9.51")
def test_coupon_larger_than_amount():
assert final_price(Decimal("5"), Decimal("10"), vip=True) == Decimal("0.00")
def test_negative_rejected():
with pytest.raises(ValueError):
final_price(Decimal("-1"), Decimal("0"), vip=False)