74 lines
2.6 KiB
Kotlin
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)
|
|
}
|