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/Exchanger.java b/src/main/java/Exchanger.java
new file mode 100644
index 0000000..98bdd52
--- /dev/null
+++ b/src/main/java/Exchanger.java
@@ -0,0 +1,45 @@
+import java.util.Scanner;
+import java.util.TreeMap;
+
+public class Exchanger {
+
+ protected double convertToDollarsRate;
+ protected double convertFromDollarsRate;
+ protected double initialValue;
+ protected double finalValue;
+
+
+ public Exchanger () {
+
+ }
+
+
+ public void setInitialValueToBeConverted (double value) {
+ initialValue = value;
+
+ }
+
+ public void setStartingCurrencyRate (String ccy) {
+ convertToDollarsRate = Table.fxTable.get(ccy);
+ }
+
+ public void setSecondExchangeRate (String ccy) {
+ convertFromDollarsRate = Table.fxTable.get(ccy);
+ }
+
+
+ public double convertCurrency () {
+ finalValue = ( initialValue / convertToDollarsRate ) * convertFromDollarsRate;
+
+ return finalValue;
+ }
+
+
+
+ public static void main(String[] args) {
+
+
+
+ }
+
+}
diff --git a/src/main/java/Table.java b/src/main/java/Table.java
new file mode 100644
index 0000000..a112d4b
--- /dev/null
+++ b/src/main/java/Table.java
@@ -0,0 +1,26 @@
+import java.util.TreeMap;
+
+public class Table {
+
+
+ public static TreeMap fxTable = new TreeMap();
+
+
+ public static void createMap() {
+
+ fxTable.put("USD", 1.00);
+ fxTable.put("EUR", 0.94);
+ fxTable.put("GBP", 0.82);
+ fxTable.put("INR", 68.32);
+ fxTable.put("AUD", 1.35);
+ fxTable.put("CAD", 1.32);
+ fxTable.put("SGD", 1.43);
+ fxTable.put("CHF", 1.01);
+ fxTable.put("MYR", 4.47);
+ fxTable.put("JPY", 115.84);
+ fxTable.put("CNY", 6.92);
+
+ }
+
+
+}
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/ExchangerTest.java b/src/test/java/ExchangerTest.java
new file mode 100644
index 0000000..c2f792e
--- /dev/null
+++ b/src/test/java/ExchangerTest.java
@@ -0,0 +1,143 @@
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ExchangerTest {
+
+ Exchanger testExchanger;
+
+ @Before
+ public void setup () {
+ testExchanger = new Exchanger();
+ Table.createMap();
+
+ }
+
+
+ @Test
+ public void setStartingCurrencyRateTest () {
+ testExchanger.setStartingCurrencyRate("GBP");
+ double expected = 0.82;
+ double actual = testExchanger.convertToDollarsRate;
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+
+ @Test
+ public void setSecondExchangeRateTest () {
+ testExchanger.setSecondExchangeRate("JPY");
+ double expected = 115.84;
+ double actual = testExchanger.convertFromDollarsRate;
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+
+ @Test
+ public void setInitialValueToBeConvertedTest () {
+ testExchanger.setInitialValueToBeConverted(10000);
+ double expected = 10000;
+ double actual = testExchanger.initialValue;
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest1 () {
+ testExchanger.setStartingCurrencyRate("USD");
+ testExchanger.setSecondExchangeRate("EUR");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 94000;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest2 () {
+ testExchanger.setStartingCurrencyRate("EUR");
+ testExchanger.setSecondExchangeRate("USD");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 106382.978;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest3 () {
+ testExchanger.setStartingCurrencyRate("EUR");
+ testExchanger.setSecondExchangeRate("GBP");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 87234.0426;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest4 () {
+ testExchanger.setStartingCurrencyRate("GBP");
+ testExchanger.setSecondExchangeRate("INR");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 8331707.32;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest5 () {
+ testExchanger.setStartingCurrencyRate("INR");
+ testExchanger.setSecondExchangeRate("CAD");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 1932.08431;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest6 () {
+ testExchanger.setStartingCurrencyRate("CAD");
+ testExchanger.setSecondExchangeRate("SGD");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 108333.333;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest7 () {
+ testExchanger.setStartingCurrencyRate("SGD");
+ testExchanger.setSecondExchangeRate("CHF");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 70629.3706;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest8 () {
+ testExchanger.setStartingCurrencyRate("CHF");
+ testExchanger.setSecondExchangeRate("MYR");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 442574.257;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest9 () {
+ testExchanger.setStartingCurrencyRate("MYR");
+ testExchanger.setSecondExchangeRate("JPY");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 2591498.88;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+ @Test
+ public void convertCurrencyTest10 () {
+ testExchanger.setStartingCurrencyRate("JPY");
+ testExchanger.setSecondExchangeRate("CNY");
+ testExchanger.setInitialValueToBeConverted(100000);
+ double expected = 5973.75691;
+ double actual = testExchanger.convertCurrency();
+ Assert.assertEquals(expected, actual, 0.005);
+ }
+
+}
diff --git a/target/classes/Exchanger.class b/target/classes/Exchanger.class
new file mode 100644
index 0000000..a3b4337
Binary files /dev/null and b/target/classes/Exchanger.class differ
diff --git a/target/classes/Prompts.class b/target/classes/Prompts.class
new file mode 100644
index 0000000..eb202d0
Binary files /dev/null and b/target/classes/Prompts.class differ
diff --git a/target/classes/Table.class b/target/classes/Table.class
new file mode 100644
index 0000000..65586d6
Binary files /dev/null and b/target/classes/Table.class differ
diff --git a/target/test-classes/ExchangerTest.class b/target/test-classes/ExchangerTest.class
new file mode 100644
index 0000000..a41df87
Binary files /dev/null and b/target/test-classes/ExchangerTest.class differ