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/CurrencyType.java b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java index 9acf5e8..5821bf8 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/CurrencyType.java @@ -1,5 +1,7 @@ package io.zipcoder.currencyconverterapplication; +import org.omg.CORBA.Current; + public enum CurrencyType { AUSTRALIAN_DOLLAR(2.70), CANADIAN_DOLLAR(2.64), @@ -25,6 +27,19 @@ public Double getRate() { } public static CurrencyType getTypeOfCurrency(ConvertableCurrency currency) { - return null; +// for (CurrencyType currencyType : CurrencyType.values()) { +// String currencyTypeName = currencyType.name().replace("_", ""); +// String convertableCurrencyName = currency.getClass().getSimpleName(); +// if (currencyTypeName.equalsIgnoreCase(convertableCurrencyName)) { +// return currencyType; +// } +// } + return currency.getType(); +// return Arrays.asList(CurrencyType.values()) +// .stream() +// .filter(currencyType -> currencyType.name().replace("_", "") +// .equalsIgnoreCase(currency.getClass().getSimpleName())) +// .findAny() +// .orElse(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..03cf4ba 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 result = CurrencyType.AUSTRALIAN_DOLLAR; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.AUSTRALIAN_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/CanadianDollar.java index 8d4ee7e..5bb5401 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 result = CurrencyType.CANADIAN_DOLLAR; + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.CANADIAN_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/ChineseYR.java index 475596f..a70f0f9 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 result = CurrencyType.CHINESE_YR; + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.CHINESE_YR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java index 7ad00b5..359a020 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Euro.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Euro implements ConvertableCurrency { + + CurrencyType result = CurrencyType.EURO; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.EURO.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java index 502f0c3..577c2e0 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Franc.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Franc implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.FRANC; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.FRANC.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java index 7879ab1..807b38d 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Pound.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Pound implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.POUND; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.POUND.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java index d3c30d8..ce50c16 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Ringgit.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Ringgit implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.RINGGIT; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.RINGGIT.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java index 2d05af5..7e7b69c 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Rupee.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class Rupee implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.RUPEE; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.RUPEE.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java index 3b5489e..769be5b 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/SingaporeDollar.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class SingaporeDollar implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.SINGAPORE_DOLLAR; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.SINGAPORE_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java index 7d6253c..9b9c825 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/USDollar.java @@ -1,6 +1,23 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyConverter; +import io.zipcoder.currencyconverterapplication.CurrencyType; + +public class USDollar extends CurrencyConverter implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.US_DOLLAR; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.US_DOLLAR.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } + -public class USDollar implements ConvertableCurrency { } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java index 5d3b9f4..8861808 100644 --- a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java +++ b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/UniversalCurrency.java @@ -1,6 +1,20 @@ package io.zipcoder.currencyconverterapplication.currencies; import io.zipcoder.currencyconverterapplication.ConvertableCurrency; +import io.zipcoder.currencyconverterapplication.CurrencyType; public class UniversalCurrency implements ConvertableCurrency { + + private CurrencyType result = CurrencyType.UNIVERSAL_CURRENCY; + + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.UNIVERSAL_CURRENCY.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } diff --git a/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java b/src/main/java/io/zipcoder/currencyconverterapplication/currencies/Yen.java index b871937..4488448 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 result = CurrencyType.YEN; + @Override + public Double convert(CurrencyType currencyType) { + Double universalAmount = currencyType.getRate() / CurrencyType.YEN.getRate(); + return universalAmount; + } + + @Override + public CurrencyType getType() { + return result; + } } 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/CurrencyType.class b/target/classes/io/zipcoder/currencyconverterapplication/CurrencyType.class index 8bd897e..ec20e61 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..f96cb56 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..015b36e 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..734a8da 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..dcd5d9c 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..c24c399 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..3902627 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..7441c58 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..b7b35cb 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..e468c38 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..a4426fd 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..db51a25 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..fe47d74 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