40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
from decimal import Decimal
|
|
|
|
from domain.marketplace.money import Money
|
|
|
|
|
|
def test_money_creation():
|
|
money = Money(amount=Decimal("99.99"))
|
|
assert money.amount == Decimal("99.99")
|
|
|
|
|
|
def test_money_is_immutable():
|
|
money = Money(amount=Decimal("10.00"))
|
|
|
|
try:
|
|
money.amount = Decimal("20.00") # type: ignore
|
|
assert False, "Should have raised FrozenInstanceError"
|
|
except AttributeError:
|
|
pass
|
|
|
|
|
|
def test_money_equality():
|
|
money1 = Money(amount=Decimal("50.00"))
|
|
money2 = Money(amount=Decimal("50.00"))
|
|
assert money1 == money2
|
|
|
|
|
|
def test_money_add():
|
|
money1 = Money(amount=Decimal("2.00"))
|
|
money2 = Money(amount=Decimal("3.00"))
|
|
|
|
assert (money1 + money2) == Money(amount=Decimal("5.00"))
|
|
assert money1 == Money(amount=Decimal("2.00"))
|
|
assert money2 == Money(amount=Decimal("3.00"))
|
|
|
|
|
|
def test_money_substract():
|
|
money1 = Money(amount=Decimal("5.00"))
|
|
money2 = Money(amount=Decimal("3.00"))
|
|
assert (money1 - money2) == Money(amount=Decimal("2.00"))
|