diff --git a/pom.xml b/pom.xml index 682d6db..956fa2e 100644 --- a/pom.xml +++ b/pom.xml @@ -10,5 +10,10 @@ + + junit + junit + RELEASE + \ No newline at end of file diff --git a/src/main/java/DELETEME b/src/main/java/DELETEME deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/java/com/zipcodewilmington/ExchangeRate/ExchangeRate.java b/src/main/java/com/zipcodewilmington/ExchangeRate/ExchangeRate.java new file mode 100644 index 0000000..2e93a08 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/ExchangeRate/ExchangeRate.java @@ -0,0 +1,40 @@ +package com.zipcodewilmington.ExchangeRate; + +public enum ExchangeRate { + USD(1.00f), + GBP(0.82f), + EUR(0.94f), + INR(68.32f), + AUD(1.35f), + CAD(1.32f), + SGD(1.43f), + CHF(1.01f), + MYR(4.47f), + JPY(115.84f), + CNY(6.92f); + + public double rate; + + public double getRate() { + return rate; + } + + public void setRate(double rate) { + this.rate = rate; + } + + ExchangeRate(double rate) { + this.rate = rate; + } + + public static double conversion(double beginningCurrencyAmount, ExchangeRate beginningCurrency, ExchangeRate endingCurrency) { + double fromExchangeRate = beginningCurrency.getRate(); //USD + double toExchangeRate = endingCurrency.getRate(); //Euro + double conversionRate = toExchangeRate / fromExchangeRate; //Euro/USD + double convertedCurrency = conversionRate * beginningCurrencyAmount; + + return convertedCurrency; + + } + + } diff --git a/src/test/java/DELETEME b/src/test/java/DELETEME deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/com/zipcodewilmington/ExchangeRate/ExchangeRateTest.java b/src/test/java/com/zipcodewilmington/ExchangeRate/ExchangeRateTest.java new file mode 100644 index 0000000..c97e40d --- /dev/null +++ b/src/test/java/com/zipcodewilmington/ExchangeRate/ExchangeRateTest.java @@ -0,0 +1,87 @@ +package com.zipcodewilmington.ExchangeRate; + + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ExchangeRateTest { + + // private ExchangeRate testExchangeRate; + double currentCurrency = 1; + public static final double delta = 0.01; + ExchangeRate USD = ExchangeRate.USD; + ExchangeRate GBP = ExchangeRate.GBP; + ExchangeRate EUR = ExchangeRate.EUR; + ExchangeRate INR = ExchangeRate.INR; + ExchangeRate AUD = ExchangeRate.AUD; + ExchangeRate CAD = ExchangeRate.CAD; + ExchangeRate SGD = ExchangeRate.SGD; + ExchangeRate CHF = ExchangeRate.CHF; + ExchangeRate MYR = ExchangeRate.MYR; + ExchangeRate JPY = ExchangeRate.JPY; + ExchangeRate CNY = ExchangeRate.CNY; + + + @Test + public void testUSDToEuro() { + + double expected = .94; + double actual = ExchangeRate.conversion(currentCurrency, USD, EUR); + Assert.assertEquals(expected, actual, delta); + + } + + @Test + public void testEuroToUSD() { + + double expected = 1.06; + double actual = ExchangeRate.conversion(currentCurrency, EUR, USD); + Assert.assertEquals(expected, actual, delta); + + } + + @Test + public void testEuroToGBP() { + + double expected = .87; + double actual = ExchangeRate.conversion(currentCurrency, EUR, GBP); + Assert.assertEquals(expected, actual, delta); + } + @Test + public void testCNYToJPY() { + + double expected = 16.73; + double actual = ExchangeRate.conversion(currentCurrency, CNY, JPY); + Assert.assertEquals(expected, actual, delta); + } + @Test + public void testJPYToCNY() { + + double expected = 0.05; + double actual = ExchangeRate.conversion(currentCurrency, JPY, CNY); + Assert.assertEquals(expected, actual, delta); + } + + @Test + public void testINRToCAD() { + + double expected = .019; + double actual = ExchangeRate.conversion(currentCurrency, INR, CAD); + Assert.assertEquals(expected, actual, delta); + } + @Test + public void testAUDToSGD() { + + double expected = 1.05; + double actual = ExchangeRate.conversion(currentCurrency, AUD, SGD); + Assert.assertEquals(expected, actual, delta); + } + @Test + public void testCHFToMYR() { + + double expected = 4.42; + double actual = ExchangeRate.conversion(currentCurrency, CHF, MYR); + Assert.assertEquals(expected, actual, delta); + } +} diff --git a/target/classes/com/zipcodewilmington/ExchangeRate/ExchangeRate.class b/target/classes/com/zipcodewilmington/ExchangeRate/ExchangeRate.class new file mode 100644 index 0000000..5fee982 Binary files /dev/null and b/target/classes/com/zipcodewilmington/ExchangeRate/ExchangeRate.class differ diff --git a/target/test-classes/com/zipcodewilmington/ExchangeRate/ExchangeRateTest.class b/target/test-classes/com/zipcodewilmington/ExchangeRate/ExchangeRateTest.class new file mode 100644 index 0000000..35c0b9c Binary files /dev/null and b/target/test-classes/com/zipcodewilmington/ExchangeRate/ExchangeRateTest.class differ