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

58 lines
1.5 KiB
Kotlin

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
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)
}
@Test
fun exchange_2usd_to_khr_test() {
val properties = MoneyConfig
.MoneyConfigProperties
.MoneyConfigPropertiesBuilder()
.setDeliEqual(':')
.setDeliSplit(',')
.build()
MoneyConfig
.setProperties(properties)
.parse("USD:1,KHR:4000")
Assert.assertTrue(MoneyConfig.isValid())
println(MoneyConfig.getConfig())
val moneyUsd = Money(2.0)
val moneyKhr = MoneyExchangeUtils.exchange(moneyUsd, "KHR")
Assert.assertEquals(8000.0, moneyKhr.getMoneyValue(), 0.0)
}
@Test
fun money_exchange_config_builder_test() {
MoneyConfig.propertiesBuilder
.setDeliEqual('=')
.setDeliSplit(';')
MoneyConfig.parse("USD:1,KHR=4000,EUR=0.99")
val moneyUsd = Money.ONE
val moneyKhr = Money.create(20000.0, MoneyCurrency.KHR)
val result = moneyUsd
}
}