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/CurrencyConvert.java b/src/main/java/CurrencyConvert.java
new file mode 100644
index 0000000..fe06869
--- /dev/null
+++ b/src/main/java/CurrencyConvert.java
@@ -0,0 +1,37 @@
+import java.text.NumberFormat;
+import java.util.HashMap;
+
+public class CurrencyConvert {
+
+
+ private HashMap converter;
+
+
+ public CurrencyConvert() {
+ converter = new HashMap();
+ converter.put("USD", 1.00F);
+ converter.put("EUR", 0.94F);
+ converter.put("GBP", 0.82F);
+ converter.put("INR", 68.32F);
+ converter.put("AUD", 1.35F);
+ converter.put("CAD", 1.32F);
+ converter.put("SGD", 1.43F);
+ converter.put("CHF", 1.01F);
+ converter.put("MYR", 4.47F);
+ converter.put("JPY", 115.84F);
+ converter.put("CNY", 6.92F);
+ }
+
+ public String makeConversion(String fromCurrencyCode, String toCurrencyCode, Float amountToConvert) {
+ NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
+ String result = currencyFormatter.format(converter.get(toCurrencyCode) / (converter.get(fromCurrencyCode)) * amountToConvert);
+ return result;
+ }
+
+
+ public static void main(String[] args) {
+ CurrencyConvert test = new CurrencyConvert();
+ System.out.println(test.makeConversion("CAD", "CHF", 200.00F));
+ }
+ }
+
diff --git a/src/test/java/CurrencyConvertTest.java b/src/test/java/CurrencyConvertTest.java
new file mode 100644
index 0000000..ead10a7
--- /dev/null
+++ b/src/test/java/CurrencyConvertTest.java
@@ -0,0 +1,102 @@
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.HashMap;
+
+import static org.junit.Assert.*;
+
+ public class CurrencyConvertTest {
+ private static CurrencyConvert test;
+
+ @Before
+ public void setUp() {
+ HashMap originalRecord = new HashMap() {{
+ put("USD", 1.00F);
+ put("EUR", 0.94F);
+ put("GBP", 0.82F);
+ put("INR", 68.32F);
+ put("AUD", 1.35F);
+ put("CAD", 1.32F);
+ put("SGD", 1.43F);
+ put("CHF", 1.01F);
+ put("MYR", 4.47F);
+ put("JPY", 115.84F);
+ put("CNY", 6.92F);
+ }};
+ test = new CurrencyConvert();
+ }
+
+ @Test
+ public void dollarToEuro() {
+ String actual = test.makeConversion("USD", "EUR", 500.00F);
+ Assert.assertEquals("$470.00", actual);
+ }
+
+ @Test
+ public void euroToDollar() {
+ String actual = test.makeConversion("EUR", "USD", 500.00F);
+ Assert.assertEquals("$531.91", actual);
+ }
+
+ @Test
+ public void britishPoundToDollar() {
+ String actual = test.makeConversion("GBP", "USD", 500.00F);
+ Assert.assertEquals("$609.76", actual);
+ }
+
+
+ @Test
+ public void euroToBritishPound() {
+ String actual = test.makeConversion("EUR", "GBP", 500.00F);
+ Assert.assertEquals("$436.17", actual);
+ }
+
+
+ @Test
+ public void britishPoundToIndianRupee() {
+ String actual = test.makeConversion("GBP", "INR", 500.00F);
+ Assert.assertEquals("$41,658.54", actual);
+ }
+
+
+ @Test
+ public void rupeeToCanadianDollar() {
+ String actual = test.makeConversion("INR", "CAD", 500.00F);
+ Assert.assertEquals("$9.66", actual);
+ }
+
+
+ @Test
+ public void canadianDollarToSingaporeDollar() {
+ String actual = test.makeConversion("CAD", "SGD", 500.00F);
+ Assert.assertEquals("$541.67", actual);
+ }
+
+ @Test
+ public void SingaporeDollarToSwissFranc() {
+ String actual = test.makeConversion("SGD", "CHF", 500.00F);
+ Assert.assertEquals("$353.15", actual);
+ }
+
+ @Test
+ public void SwissFrancToMalaysianRinggit() {
+ String actual = test.makeConversion("CHF", "MYR", 500.00F);
+ Assert.assertEquals("$2,212.87", actual);
+ }
+
+ @Test
+ public void MalaysianRinggitToJapaneseYen() {
+ String actual = test.makeConversion("MYR", "JPY", 500.00F);
+ Assert.assertEquals("$12,957.50", actual);
+ }
+
+ @Test
+ public void JapaneseYenToChineseYuanRenminbi() {
+ String actual = test.makeConversion("JPY", "CNY", 500.00F);
+ Assert.assertEquals("$29.87", actual);
+ }
+
+ }
+
diff --git a/target/classes/CurrencyConvert.class b/target/classes/CurrencyConvert.class
new file mode 100644
index 0000000..4b05de8
Binary files /dev/null and b/target/classes/CurrencyConvert.class differ
diff --git a/target/test-classes/CurrencyConvertTest$1.class b/target/test-classes/CurrencyConvertTest$1.class
new file mode 100644
index 0000000..d4fdd9a
Binary files /dev/null and b/target/test-classes/CurrencyConvertTest$1.class differ
diff --git a/target/test-classes/CurrencyConvertTest.class b/target/test-classes/CurrencyConvertTest.class
new file mode 100644
index 0000000..0c1954f
Binary files /dev/null and b/target/test-classes/CurrencyConvertTest.class differ