mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-21 08:04:26 +01:00
pytest: test mul and div units for Millisatoshi
This commit is contained in:
committed by
Christian Decker
parent
fffc343dd7
commit
bd13726db7
@@ -269,3 +269,46 @@ def test_nonegative():
|
|||||||
Millisatoshi("1sat") // -1
|
Millisatoshi("1sat") // -1
|
||||||
with pytest.raises(ValueError, match='Millisatoshi must be >= 0'):
|
with pytest.raises(ValueError, match='Millisatoshi must be >= 0'):
|
||||||
Millisatoshi("1btc") // -1
|
Millisatoshi("1btc") // -1
|
||||||
|
|
||||||
|
|
||||||
|
def test_mul():
|
||||||
|
# msat * num := msat
|
||||||
|
amount = Millisatoshi(21) * 2
|
||||||
|
assert isinstance(amount, Millisatoshi)
|
||||||
|
assert amount == Millisatoshi(42)
|
||||||
|
amount = Millisatoshi(21) * 2.5
|
||||||
|
assert amount == Millisatoshi(52)
|
||||||
|
|
||||||
|
# msat * msat := msat^2 (which is not supported)
|
||||||
|
with pytest.raises(TypeError, match="not supported"):
|
||||||
|
Millisatoshi(21) * Millisatoshi(2)
|
||||||
|
|
||||||
|
|
||||||
|
def test_div():
|
||||||
|
# msat / num := msat
|
||||||
|
amount = Millisatoshi(42) / 2
|
||||||
|
assert isinstance(amount, Millisatoshi)
|
||||||
|
assert amount == Millisatoshi(21)
|
||||||
|
amount = Millisatoshi(42) / 2.6
|
||||||
|
assert amount == Millisatoshi(16)
|
||||||
|
|
||||||
|
# msat / msat := num (float ratio)
|
||||||
|
amount = Millisatoshi(42) / Millisatoshi(2)
|
||||||
|
assert isinstance(amount, float)
|
||||||
|
assert amount == 21.0
|
||||||
|
amount = Millisatoshi(8) / Millisatoshi(5)
|
||||||
|
assert amount == 1.6
|
||||||
|
|
||||||
|
# msat // num := msat
|
||||||
|
amount = Millisatoshi(42) // 2
|
||||||
|
assert isinstance(amount, Millisatoshi)
|
||||||
|
assert amount == Millisatoshi(21)
|
||||||
|
|
||||||
|
# msat // msat := num
|
||||||
|
amount = Millisatoshi(42) // Millisatoshi(3)
|
||||||
|
assert isinstance(amount, int)
|
||||||
|
assert amount == 14
|
||||||
|
amount = Millisatoshi(42) // Millisatoshi(3)
|
||||||
|
assert amount == 14
|
||||||
|
amount = Millisatoshi(42) // Millisatoshi(4)
|
||||||
|
assert amount == 10
|
||||||
|
|||||||
Reference in New Issue
Block a user