summaryrefslogtreecommitdiff
path: root/taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-03-24 09:08:00 -0300
committerTorsten Grote <t@grobox.de>2020-03-24 09:08:00 -0300
commit864160280872fdb400c2e0e61aaaa1b858fba3f8 (patch)
tree5d3f8b24d261a593364d9bcb70033b4814fd954a /taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt
parenta690087d82e8b0ee774542d9956698a349408824 (diff)
downloadtaler-android-864160280872fdb400c2e0e61aaaa1b858fba3f8.tar.gz
taler-android-864160280872fdb400c2e0e61aaaa1b858fba3f8.tar.bz2
taler-android-864160280872fdb400c2e0e61aaaa1b858fba3f8.zip
Allow fractional withdrawals with cashier app
Diffstat (limited to 'taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt')
-rw-r--r--taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt21
1 files changed, 21 insertions, 0 deletions
diff --git a/taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt b/taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt
index c09da3c..97d9667 100644
--- a/taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt
+++ b/taler-kotlin-common/src/test/java/net/taler/common/AmountTest.kt
@@ -275,6 +275,27 @@ class AmountTest {
assertFalse(Amount.fromJSONString("EUR:0001.0").isZero())
}
+ @Test
+ fun `test comparision`() {
+ assertTrue(Amount.fromJSONString("EUR:0") <= Amount.fromJSONString("EUR:0"))
+ assertTrue(Amount.fromJSONString("EUR:0") <= Amount.fromJSONString("EUR:0.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:0") < Amount.fromJSONString("EUR:0.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:0") < Amount.fromJSONString("EUR:1"))
+ assertTrue(Amount.fromJSONString("EUR:0") == Amount.fromJSONString("EUR:0"))
+ assertTrue(Amount.fromJSONString("EUR:42") == Amount.fromJSONString("EUR:42"))
+ assertTrue(Amount.fromJSONString("EUR:42.00000001") == Amount.fromJSONString("EUR:42.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:42.00000001") >= Amount.fromJSONString("EUR:42.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:42.00000002") >= Amount.fromJSONString("EUR:42.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:42.00000002") > Amount.fromJSONString("EUR:42.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:0.00000002") > Amount.fromJSONString("EUR:0.00000001"))
+ assertTrue(Amount.fromJSONString("EUR:0.00000001") > Amount.fromJSONString("EUR:0"))
+ assertTrue(Amount.fromJSONString("EUR:2") > Amount.fromJSONString("EUR:1"))
+
+ assertThrows<IllegalStateException>("could compare amounts with different currencies") {
+ Amount.fromJSONString("EUR:0.5") < Amount.fromJSONString("USD:0.50000001")
+ }
+ }
+
private inline fun <reified T : Throwable> assertThrows(
msg: String? = null,
function: () -> Any