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/CurrencyConverter.java b/src/main/java/CurrencyConverter.java
new file mode 100644
index 0000000..b55a953
--- /dev/null
+++ b/src/main/java/CurrencyConverter.java
@@ -0,0 +1,50 @@
+import java.util.HashMap;
+import java.text.DecimalFormat;
+
+ /**
+ * Created by Kibret
+ */
+
+import java.text.NumberFormat;
+
+public class CurrencyConverter {
+
+
+
+ private HashMap exchangeRateRecord;
+
+
+ public CurrencyConverter () {
+ exchangeRateRecord = new HashMap();
+ exchangeRateRecord.put("USD", 1.00F);
+ exchangeRateRecord.put("EUR", 0.94F);
+ exchangeRateRecord.put("GBP", 0.82F);
+ exchangeRateRecord.put("INR", 68.32F);
+ exchangeRateRecord.put("AUD", 1.35F);
+ exchangeRateRecord.put("CAD", 1.32F);
+ exchangeRateRecord.put("SGD", 1.43F);
+ exchangeRateRecord.put("CHF", 1.01F);
+ exchangeRateRecord.put("MYR", 4.47F);
+ exchangeRateRecord.put("JPY", 115.84F);
+ exchangeRateRecord.put("CNY", 6.92F);
+
+ }
+
+
+ public String currencyConverter(String fromCurrencyCode, String toCurrencyCode, Float amountToConvert) {
+ DecimalFormat formatter = new DecimalFormat("0.##");
+ // NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
+ String result =formatter.format(exchangeRateRecord.get(toCurrencyCode) / (exchangeRateRecord.get(fromCurrencyCode))* amountToConvert);
+ return result;
+
+
+ }
+
+
+ public HashMap getExchangeRateRecord() {
+ return exchangeRateRecord;
+ }
+}
+
+
+
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/CurrencyConverterTest.java b/src/test/java/CurrencyConverterTest.java
new file mode 100644
index 0000000..9937fcb
--- /dev/null
+++ b/src/test/java/CurrencyConverterTest.java
@@ -0,0 +1,103 @@
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.HashMap;
+
+public class CurrencyConverterTest {
+ private static CurrencyConverter tester;
+
+ @Before
+ public void setUp() {
+ tester = new CurrencyConverter();
+ }
+ @Test
+ public void testCurrencyConverter() {
+ String expected = "609.76";
+ String actual = tester.currencyConverter("GBP", "USD", 500.00F);
+
+ Assert.assertEquals(expected, actual);
+ }
+ @Test
+ public void dollarToEuro() {
+ String expected = "470";
+ String actual = tester.currencyConverter("USD", "EUR", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void euroToDollar() {
+ String expected = "531.91";
+ String actual = tester.currencyConverter("EUR", "USD", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void britishPoundToDollar() {
+ String expected = "609.76";
+ String actual = tester.currencyConverter("GBP", "USD", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void euroToBritishPound() {
+ String expected = "436.17";
+ String actual = tester.currencyConverter("EUR", "GBP", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void britishPoundToIndianRupee() {
+ String expected = "41658.54";
+ String actual = tester.currencyConverter("GBP", "INR", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void rupeeToCanadianDollar() {
+ String expected = "9.66";
+ String actual = tester.currencyConverter("INR", "CAD", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void canadianDollarToSingaporeDollar() {
+ String expected = "541.67";
+ String actual = tester.currencyConverter("CAD", "SGD", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void SingaporeDollarToSwissFranc() {
+ String expected = "353.15";
+ String actual = tester.currencyConverter("SGD", "CHF", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void SwissFrancToMalaysianRinggit() {
+ String expected = "2212.87";
+ String actual = tester.currencyConverter("CHF", "MYR", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void MalaysianRinggitToJapaneseYen() {
+ String expected = "12957.5";
+ String actual = tester.currencyConverter("MYR", "JPY", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void JapaneseYenToChineseYuanRenminbi() {
+ String expected = "29.87";
+ String actual = tester.currencyConverter("JPY", "CNY", 500.00F);
+ Assert.assertEquals(expected, actual);
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/DELETEME b/src/test/java/DELETEME
deleted file mode 100644
index e69de29..0000000
diff --git a/target/classes/CurrencyConverter.class b/target/classes/CurrencyConverter.class
new file mode 100644
index 0000000..5e0e350
Binary files /dev/null and b/target/classes/CurrencyConverter.class differ
diff --git a/target/test-classes/CurrencyConverterTest.class b/target/test-classes/CurrencyConverterTest.class
new file mode 100644
index 0000000..2666135
Binary files /dev/null and b/target/test-classes/CurrencyConverterTest.class differ