demo-money-project/src/main/kotlin/com/example/demo/DemoApplication.kt

74 lines
2.6 KiB
Kotlin

package com.example.demo
import com.example.demo.domain.Currency
import com.example.demo.domain.Money
import com.example.demo.domain.MoneyConfig
import com.example.demo.domain.exchange
import com.example.demo.exchange.FixerIOExchangeAdapter
import com.example.demo.exchange.LocalExchangeAdapter
import com.example.demo.exchange.MoneyExchange
import com.example.demo.exchange.YahooExchangeAdapter
import com.example.demo.rest.RestWebClient
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
class DemoApplication : CommandLineRunner {
override fun run(vararg args: String?) {
// val value1 = "50:USD"
// val value2 = "30:KHR"
// val money1 = Money.parse(value1)
// val money2 = Money.parse(value2)
// val result = money1.addMoney(money2)
//
// println(result)
// val config = "USD=1,KHR=4000,EUR=0.99"
// val result = MoneyConfig.parse(config)
// println(result)
// MoneyConfig.parse("USD=1,KHR=4000,EUR=0.99")
// val value1 = MoneyDyn(value = 2.0, currency = "USD")
// val value2 = MoneyDyn(value = 20000.0, currency = "KHR")
// val value3 = MoneyDyn(value = 0.99, currency = "EUR")
// value1.addMoney(value2)
// value1.addMoney(value3)
//
// // val result = value1.exchange("KHR")
// println(value1.exchangeTo("KHR")) // 7
// val moneyUsd = Money(2.0)
// .addMoney(20000.0, "USD")
// .exchange("KHR")
// .toStdMoneyFormatable()
// .formatMoneyDisplay()
//
// println(moneyUsd)
// val url = "http://data.fixer.io/api/latest?access_key=381f3bac3cb8beed200cc4e17c0f8bb4&symbols=USD,KHR,EUR"
// val result = RestWebClient.getRates(url)
// // println(result)
// MoneyConfig.loadFrom(result)
//
// val moneyUsd = Money(10.0, currency = Currency.USD)
// val moneyResult = moneyUsd.exchange("KHR")
// println(moneyResult)
// val exchangeAdapter1 = LocalExchangeAdapter()
// val exchangeAdapter2 = FixerIOExchangeAdapter()
// val exchangeAdapter3 = YahooExchangeAdapter()
//
// val exchanger = MoneyExchange(exchangeAdapter3)
//
// val moneyUsd = Money(10.0)
// val result = exchanger.exchange(moneyUsd, "KHR")
// println(result)
}
}
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}