diff --git a/src/test/kotlin/net/thauvin/erik/crypto/CryptoPriceTest.kt b/src/test/kotlin/net/thauvin/erik/crypto/CryptoPriceTest.kt index 4df7fd0..67752eb 100644 --- a/src/test/kotlin/net/thauvin/erik/crypto/CryptoPriceTest.kt +++ b/src/test/kotlin/net/thauvin/erik/crypto/CryptoPriceTest.kt @@ -1,5 +1,6 @@ package net.thauvin.erik.crypto +import net.thauvin.erik.crypto.CryptoPrice.Companion.apiCall import net.thauvin.erik.crypto.CryptoPrice.Companion.marketPrice import net.thauvin.erik.crypto.CryptoPrice.Companion.toPrice import java.time.LocalDate @@ -48,6 +49,15 @@ class CryptoPriceTest { assertTrue(price.amount > 0.00, "BCH > 0") } + @Test + @Throws(CryptoException::class) + fun testApiCall() { + val price = apiCall(listOf("prices", "BTC-USD", "buy"), emptyMap()).toPrice() + assertEquals(price.base, "BTC", "buy BTC") + assertEquals(price.currency, "USD", "buy BTC is USD") + assertTrue(price.amount > 0.00, "buy BTC > 0") + } + @Test @Throws(CryptoException::class) fun testMarketPriceExceptions() { @@ -85,5 +95,17 @@ class CryptoPriceTest { exceptionClass = CryptoException::class, block = { json.replace("5", "a").toPrice() } ) + + assertFailsWith( + message = "empty did not fail", + exceptionClass = CryptoException::class, + block = { "{}".toPrice() } + ) + + assertFailsWith( + message = "no base did not fail", + exceptionClass = CryptoException::class, + block = { json.replace("base","food").toPrice() } + ) } }