diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java b/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java index 6498351..4684052 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java @@ -1,7 +1,10 @@ package io.zipcoder.currencyconverterapplication; public interface ConvertableCurrency { + default Double convert(CurrencyType currencyType) { - return Double.MAX_VALUE; + return currencyType.getRate() / this.getRate(); } + + Double getRate(); } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java index 9acf5e8..b10654a 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java @@ -25,6 +25,42 @@ public Double getRate() { } public static CurrencyType getTypeOfCurrency(ConvertableCurrency currency) { + if (currency.getRate() == AUSTRALIAN_DOLLAR.rate) { + return AUSTRALIAN_DOLLAR; + } + else if (currency.getRate() == CANADIAN_DOLLAR.rate) { + return CANADIAN_DOLLAR; + } + else if (currency.getRate() == CHINESE_YR.rate) { + return CHINESE_YR; + } + else if (currency.getRate() == EURO.rate) { + return EURO; + } + else if (currency.getRate() == FRANC.rate) { + return FRANC; + } + else if (currency.getRate() == POUND.rate) { + return POUND; + } + else if (currency.getRate() == RINGGIT.rate) { + return RINGGIT; + } + else if (currency.getRate() == RUPEE.rate) { + return RUPEE; + } + else if (currency.getRate() == SINGAPORE_DOLLAR.rate) { + return SINGAPORE_DOLLAR; + } + else if (currency.getRate() == US_DOLLAR.rate) { + return US_DOLLAR; + } + else if (currency.getRate() == UNIVERSAL_CURRENCY.rate) { + return UNIVERSAL_CURRENCY; + } + else if (currency.getRate() == YEN.rate) { + return YEN; + } return null; } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java index 7ff9427..2eb0474 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class AustralianDollar implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.AUSTRALIAN_DOLLAR.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java index 8d4ee7e..6bd4d6e 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class CanadianDollar implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.CANADIAN_DOLLAR.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java index 475596f..9971758 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class ChineseYR implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.CHINESE_YR.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java index 7ad00b5..54ac89e 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Euro implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.EURO.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java index 502f0c3..726d51d 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Franc implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.FRANC.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java index 7879ab1..678dbd8 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Pound implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.POUND.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java index d3c30d8..41eb379 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Ringgit implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.RINGGIT.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java index 2d05af5..a7e80bd 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Rupee implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.RUPEE.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java index 3b5489e..c02fc0d 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class SingaporeDollar implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.SINGAPORE_DOLLAR.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java index 7d6253c..848dd8c 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class USDollar implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.US_DOLLAR.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java index 5d3b9f4..494c7dc 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class UniversalCurrency implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.UNIVERSAL_CURRENCY.getRate(); + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java index b871937..71cab1d 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java @@ -1,6 +1,11 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Yen implements ConvertableCurrency { + @Override + public Double getRate() { + return CurrencyType.YEN.getRate(); + } } diff --git a/target/classes/META-INF/tc-money-converter.kotlin_module b/target/classes/META-INF/tc-money-converter.kotlin_module deleted file mode 100644 index 8fb6019..0000000 Binary files a/target/classes/META-INF/tc-money-converter.kotlin_module and /dev/null differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/ConvertableCurrency.class b/target/classes/io/zipcoder/currencyconverterapplication/ConvertableCurrency.class index 0c98dc2..6228da9 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/ConvertableCurrency.class and b/target/classes/io/zipcoder/currencyconverterapplication/ConvertableCurrency.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class b/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class index 8bd897e..7cd29b1 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class and b/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.class index 80c91bb..c8ebd28 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.class index 9e2f557..6af1af2 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.class index 8a644a4..d90b077 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Euro.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Euro.class index f85fa55..0576ea2 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Euro.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Euro.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Franc.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Franc.class index bc13e2a..bd10024 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Franc.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Franc.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Pound.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Pound.class index 647e7d3..b0d14de 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Pound.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Pound.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Ringgit.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Ringgit.class index da95811..417b03c 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Ringgit.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Ringgit.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Rupee.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Rupee.class index ae647fa..fd7454f 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Rupee.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Rupee.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.class index e79707e..117327b 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/USDollar.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/USDollar.class index cc8a288..6de2e95 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/USDollar.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/USDollar.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.class index 0e1962b..fe35467 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Yen.class b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Yen.class index 67872df..1be971e 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/currencies/Yen.class and b/target/classes/io/zipcoder/currencyconverterapplication/currencies/Yen.class differ diff --git a/target/test-classes/META-INF/tc-money-converter.kotlin_module b/target/test-classes/META-INF/tc-money-converter.kotlin_module deleted file mode 100644 index 8fb6019..0000000 Binary files a/target/test-classes/META-INF/tc-money-converter.kotlin_module and /dev/null differ