Compare commits

...

2 Commits

Author SHA1 Message Date
Sambo Chea 32441f7de6 Updated valid for money config 2020-08-27 08:48:18 +07:00
Sambo Chea 7204246dc9 Add tests for money 2020-08-27 08:46:33 +07:00
3 changed files with 20 additions and 9 deletions

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -15,8 +15,11 @@ object MoneyConfig {
* Value is the rate
*/
private val config: MutableMap<String, Double> = mutableMapOf()
private var valid: Boolean = false
fun isValid() = valid
// validate the config, if have it's valid
fun isValid(): Boolean {
return this.config.isNotEmpty()
}
/**
* Money properties for money config format
@ -58,9 +61,6 @@ object MoneyConfig {
throw MoneyCurrencyStateException("money config format is not valid!")
}
}
// validate the config is load or not
this.valid = this.config.isNotEmpty()
}
// all currencies with its rate

View File

@ -9,13 +9,16 @@ import org.junit.Test
class MoneyTests {
@Test
fun test() {
fun money_operator_test() {
val money = Money(10.0)
val money2 = Money(20.0)
money *= money
println((money + money2) * money2)
Assert.assertEquals(10, 10)
Assert.assertEquals(100.0, money.value, 0.0)
}
@Test
fun exchange_2usd_to_khr_test() {
val properties = MoneyConfig
.MoneyConfigProperties
.MoneyConfigPropertiesBuilder()
@ -27,11 +30,13 @@ class MoneyTests {
.setProperties(properties)
.parse("USD:1,KHR:4000")
Assert.assertTrue(MoneyConfig.isValid())
println(MoneyConfig.getConfig())
val moneyUsd = Money(10.0)
val moneyUsd = Money(2.0)
val moneyKhr = MoneyExchangeUtils.exchange(moneyUsd, "KHR")
Assert.assertEquals(40000.0, moneyKhr.getMoneyValue(), 0.0)
Assert.assertEquals(8000.0, moneyKhr.getMoneyValue(), 0.0)
}
}