money-module/src/test/kotlin/MoneyTests.kt

58 lines
1.5 KiB
Kotlin
Raw Normal View History

import com.cubetiqs.money.Money
import com.cubetiqs.money.MoneyConfig
import com.cubetiqs.money.MoneyCurrency
import com.cubetiqs.money.MoneyExchangeUtils
import com.cubetiqs.money.SpecialStringProcessor
import org.junit.Assert
import org.junit.Test
class MoneyTests {
@Test
2020-08-27 08:46:33 +07:00
fun money_operator_test() {
// val money = Money(10.0)
// val money2 = Money(20.0)
// money *= money
// println((money + money2) * money2)
// Assert.assertEquals(100.0, money.value, 0.0)
val test = SpecialStringProcessor().serialize(Money(1.0, " usd "))
println(test)
2020-08-27 08:46:33 +07:00
}
2020-08-27 08:46:33 +07:00
@Test
fun exchange_2usd_to_khr_test() {
val properties = MoneyConfig
.MoneyConfigProperties
.MoneyConfigPropertiesBuilder()
.setDeliEqual(':')
.setDeliSplit(',')
.build()
MoneyConfig
.setProperties(properties)
.parse("USD:1,KHR:4000")
2020-08-27 08:46:33 +07:00
Assert.assertTrue(MoneyConfig.isValid())
println(MoneyConfig.getConfig())
2020-08-26 21:48:03 +07:00
2020-08-27 08:46:33 +07:00
val moneyUsd = Money(2.0)
2020-08-26 21:48:03 +07:00
val moneyKhr = MoneyExchangeUtils.exchange(moneyUsd, "KHR")
2020-08-27 08:46:33 +07:00
Assert.assertEquals(8000.0, moneyKhr.getMoneyValue(), 0.0)
}
2020-08-27 10:45:57 +07:00
@Test
fun money_exchange_config_builder_test() {
MoneyConfig.propertiesBuilder
.setDeliEqual('=')
.setDeliSplit(';')
MoneyConfig.parse("USD:1,KHR=4000,EUR=0.99")
2020-08-27 10:45:57 +07:00
val moneyUsd = Money.ONE
val moneyKhr = Money.create(20000.0, MoneyCurrency.KHR)
val result = moneyUsd
}
}