diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java b/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java index 6498351..142d7d5 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/ConvertableCurrency.java @@ -4,4 +4,6 @@ public interface ConvertableCurrency { default Double convert(CurrencyType currencyType) { return Double.MAX_VALUE; } + + CurrencyType getType(); } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyConverter.java b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyConverter.java index 7e2fd38..bb06e45 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyConverter.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyConverter.java @@ -1,7 +1,16 @@ package io.zipcoder.currencyconverterapplication; -public class CurrencyConverter { - public static Double convert(Double amountOfBaseCurrency, ConvertableCurrency sourceCurrencyType, CurrencyType targetCurrencyType) { - return sourceCurrencyType.convert(targetCurrencyType) * amountOfBaseCurrency; +public class CurrencyConverter implements ConvertableCurrency{ + public static Double convert(Double amountOfBaseCurrency, + ConvertableCurrency sourceCurrencyType, + CurrencyType targetCurrencyType) { + return sourceCurrencyType.convert(targetCurrencyType) * + amountOfBaseCurrency; + } + + + @Override + public CurrencyType getType() { + return null; } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java index 9acf5e8..9c23a8d 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java @@ -15,9 +15,11 @@ public enum CurrencyType { YEN(231.68); private final double rate; + private final CurrencyType type; CurrencyType(double rate) { this.rate = rate; + this.type = this; } public Double getRate() { @@ -25,6 +27,6 @@ public Double getRate() { } public static CurrencyType getTypeOfCurrency(ConvertableCurrency currency) { - return null; + return currency.getType(); } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java index 7ff9427..721dc87 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/AustralianDollar.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class AustralianDollar implements ConvertableCurrency { + private CurrencyType type = CurrencyType.AUSTRALIAN_DOLLAR; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.AUSTRALIAN_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } + } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java index 8d4ee7e..92f21be 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class CanadianDollar implements ConvertableCurrency { + private CurrencyType type = CurrencyType.CANADIAN_DOLLAR; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.CANADIAN_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java index 475596f..d3315ce 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class ChineseYR implements ConvertableCurrency { + private CurrencyType type = CurrencyType.CHINESE_YR; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.CHINESE_YR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java index 7ad00b5..54844f9 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Euro implements ConvertableCurrency { + private CurrencyType type = CurrencyType.EURO; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.EURO.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java index 502f0c3..8e0cfe2 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Franc implements ConvertableCurrency { + private CurrencyType type = CurrencyType.FRANC; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.FRANC.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java index 7879ab1..239bc25 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Pound implements ConvertableCurrency { + private CurrencyType type = CurrencyType.POUND; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.POUND.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java index d3c30d8..efb7038 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Ringgit implements ConvertableCurrency { + private CurrencyType type = CurrencyType.RINGGIT; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.RINGGIT.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java index 2d05af5..3df8da8 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Rupee implements ConvertableCurrency { + private CurrencyType type = CurrencyType.RUPEE; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.RUPEE.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java index 3b5489e..0957e6a 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class SingaporeDollar implements ConvertableCurrency { + private CurrencyType type = CurrencyType.SINGAPORE_DOLLAR; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.SINGAPORE_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java index 7d6253c..d653f0a 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java @@ -1,6 +1,18 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class USDollar implements ConvertableCurrency { + private CurrencyType type = CurrencyType.US_DOLLAR; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.US_DOLLAR.getRate(); + return universalAmount; + } + + public CurrencyType getType(){ + return type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java index 5d3b9f4..8926183 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class UniversalCurrency implements ConvertableCurrency { + private CurrencyType type = CurrencyType.UNIVERSAL_CURRENCY; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.UNIVERSAL_CURRENCY.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return this.type; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java index b871937..00f7aed 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java @@ -1,6 +1,19 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Yen implements ConvertableCurrency { + private CurrencyType type = CurrencyType.YEN; + + @Override + public Double convert(CurrencyType currency){ + Double universalAmount = currency.getRate() / CurrencyType.YEN.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return type; + } } 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..34fff50 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/CurrencyConverter.class b/target/classes/io/zipcoder/currencyconverterapplication/CurrencyConverter.class index 4fe7670..74b7e5e 100644 Binary files a/target/classes/io/zipcoder/currencyconverterapplication/CurrencyConverter.class and b/target/classes/io/zipcoder/currencyconverterapplication/CurrencyConverter.class differ diff --git a/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class b/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class index 8bd897e..b68e573 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..2a14df2 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..3f07b3a 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..29cbee2 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..04f00a7 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..431a45c 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..c231e3e 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..991210b 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..c2f144d 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..0cfc574 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..d0a1aff 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..535a488 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..4f3cf1d 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