diff --git a/pom.xml b/pom.xml index 682d6db..04ba690 100644 --- a/pom.xml +++ b/pom.xml @@ -9,6 +9,12 @@ 1.0-SNAPSHOT - + + + junit + junit + 4.12 + test + \ No newline at end of file diff --git a/src/main/java/CurrencyExchange.java b/src/main/java/CurrencyExchange.java new file mode 100644 index 0000000..c008a01 --- /dev/null +++ b/src/main/java/CurrencyExchange.java @@ -0,0 +1,38 @@ +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.TreeMap; + +import static javax.swing.UIManager.put; +//Currency converter +public class CurrencyExchange { + + private HashMap currencyMap; + + { + currencyMap = new HashMap() { + { + put("USD", 1.00); //US Dollar + put("EURO", 0.94); //Euro + put("POUND", 0.82); //British Pound + put("RUPEE", 68.32); //Indian Rupee + put("AUD", 1.35); //Australian Dollar + put("CAD", 1.32); //Canadian Dollar + put("SGD", 1.43); //Singapore Dollar + put("FRANC", 1.01); //Swiss Franc + put("RINGGIT", 4.47); //Malaysian Ringgit + put("YEN", 115.84); //Japanese Yen + put("RENMINBI", 6.92);//Chinese Yuan Renminbi + + } + }; + } + + public double conversionFormula (String nation1, String nation2, double amount){ + + double convertedAmount = (currencyMap.get(nation2)) / (currencyMap.get(nation1)) * amount; + + return convertedAmount; + + } + +} diff --git a/src/main/java/DELETEME b/src/main/java/DELETEME deleted file mode 100644 index e69de29..0000000 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/TestingRates.java b/src/test/java/TestingRates.java new file mode 100644 index 0000000..4c2f353 --- /dev/null +++ b/src/test/java/TestingRates.java @@ -0,0 +1,91 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import java.math.BigDecimal; + +import static com.sun.tools.doclint.Entity.delta; + +public class TestingRates { + + CurrencyExchange testRate; + + @Before + public void setUp() { + testRate = new CurrencyExchange(); + } + + @Test + public void testUSDtoEuro() { + double expectedAmount = 0.94; + double actualAmount = testRate.conversionFormula("USD", "EURO", 1.00); + Assert.assertEquals("Convert Dollar to Euro",expectedAmount, actualAmount, 0.1); + } + + @Test + public void testEUROtoUSD() { + double expectedAmount = 53.20; + double actualAmount = testRate.conversionFormula("EURO", "USD", 50.00); + Assert.assertEquals("Convert Euro to US Dollar", expectedAmount, actualAmount, 0.1); + } + + @Test + public void testEUROtoPOUND () { + double expectedAmount = 21.80; + double actualAmount = testRate.conversionFormula("EURO", "POUND", 25.00); + Assert.assertEquals("Convert Rupee to Canadian Dollar", expectedAmount, actualAmount, 0.1); + } + + @Test + public void testPOUNDtoRUPEE () { + double expectedAmount = 2916.10; + double actualAmount = testRate.conversionFormula("POUND", "RUPEE", 35.00); + Assert.assertEquals("Convert British Pound to Indian Rupee", expectedAmount, actualAmount, 0.1); + } + + @Test + public void testRUPEEtoCAD () { + double expectedAmount = 1.55; + double actualAmount = testRate.conversionFormula("RUPEE", "CAD", 80.00); + Assert.assertEquals("Convert Rupee to Canadian Dollar", expectedAmount, actualAmount, 0.1); + } + + @Test + public void testCADtoSGD () { + double expectedAmount = 107.25; + double actualAmount = testRate.conversionFormula("CAD", "SGD", 99.00); + Assert.assertEquals( + "Convert Canadian Dollar to Singapore Dollar", expectedAmount, actualAmount, 0.1); + } + + @Test + public void testSGDtoFRANC () { + double expectedAmount = 47.09; + double actualAmount = testRate.conversionFormula("SGD", "FRANC", 66.66); + Assert.assertEquals( + "Convert Singapore Dollar to Swiss Franc",expectedAmount, actualAmount, 0.1); + } + + @Test + public void testFRANCtoRINGGIT () { + double expectedAmount = 4425.75; + double actualAmount = testRate.conversionFormula("FRANC", "RINGGIT", 1000.00); + Assert.assertEquals( + "Convert Swiss Franc to Malaysian Ringgit",expectedAmount, actualAmount, 0.1); + } + + @Test + public void testRINGGITtoYEN () { + double expectedAmount = 259.15; + double actualAmount = testRate.conversionFormula("RINGGIT", "YEN", 10.00); + Assert.assertEquals( + "Convert Malaysian Ringgit to Japanese Yen",expectedAmount, actualAmount, 0.1); + } + + @Test + public void testYENtoRENMINBI () { + double expectedAmount = 2.99; + double actualAmount = testRate.conversionFormula("YEN", "RENMINBI", 50.00); + Assert.assertEquals( + "Convert Japanese Yen to Chinese Yuan Renminb", expectedAmount, actualAmount, 0.1); + } + } \ No newline at end of file diff --git a/target/classes/CurrencyExchange$1.class b/target/classes/CurrencyExchange$1.class new file mode 100644 index 0000000..3da87a9 Binary files /dev/null and b/target/classes/CurrencyExchange$1.class differ diff --git a/target/classes/CurrencyExchange.class b/target/classes/CurrencyExchange.class new file mode 100644 index 0000000..dd66d74 Binary files /dev/null and b/target/classes/CurrencyExchange.class differ diff --git a/target/test-classes/TestingRates.class b/target/test-classes/TestingRates.class new file mode 100644 index 0000000..6abbfb7 Binary files /dev/null and b/target/test-classes/TestingRates.class differ