diff --git a/pom.xml b/pom.xml
index 682d6db..38a32ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,6 +9,11 @@
1.0-SNAPSHOT
-
+
+ junit
+ junit
+ 4.12
+ test
+
\ 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/ExchangeMaster.java b/src/main/java/ExchangeMaster.java
new file mode 100644
index 0000000..ced6089
--- /dev/null
+++ b/src/main/java/ExchangeMaster.java
@@ -0,0 +1,64 @@
+import java.text.DecimalFormat;
+
+public class ExchangeMaster {
+
+
+
+ public final double usDollarRate = 1;
+ public final double euroRate = 0.94;
+ public final double britishPoundRate = 0.82;
+ public final double indianRupeeRate = 68.32;
+ public final double australianDollarRate = 1.35;
+ public final double canadianDollarRate = 1.32;
+ public final double singaporeDollarRate = 1.43;
+ public final double swissFrancRate = 1.01;
+ public final double malaysianRinggitRate = 4.47;
+ public final double japaneseYenRate = 115.84;
+ public final double chineseYuanRenminbiRate = 6.92;
+
+ public String converter (double originalCurrencyAmount, String typeOfOriginalCurrency, String currencyToConvertTo) {
+ double unformatted = (originalCurrencyAmount/rateReturner(typeOfOriginalCurrency))*rateReturner(currencyToConvertTo);
+ return formatCurrency(unformatted);
+ }
+
+ public double rateReturner (String requestedRate) {
+ String formattedInput = requestedRate.toLowerCase();
+ if (formattedInput.equals("us dollar")) {
+ return usDollarRate;
+ } else if (formattedInput.equals("british pound")) {
+ return britishPoundRate;
+ } else if (formattedInput.equals("euro")) {
+ return euroRate;
+ } else if (formattedInput.equals("indian rupee")) {
+ return indianRupeeRate;
+ } else if (formattedInput.equals("australian dollar")) {
+ return australianDollarRate;
+ } else if (formattedInput.equals("canadian dollar")) {
+ return canadianDollarRate;
+ } else if (formattedInput.equals("singapore dollar")) {
+ return singaporeDollarRate;
+ } else if (formattedInput.equals("swiss franc")) {
+ return swissFrancRate;
+ } else if (formattedInput.equals("malaysian ringgit")) {
+ return malaysianRinggitRate;
+ } else if (formattedInput.equals("japanese yen")) {
+ return japaneseYenRate;
+ } else if (formattedInput.equals("chinese yuan renminbi")) {
+ return chineseYuanRenminbiRate;
+ } else {
+ return usDollarRate;
+ }
+ }
+
+ public String formatCurrency(double value){
+ DecimalFormat decimalFormat = new DecimalFormat("#.##");
+ String formatted = decimalFormat.format(value);
+ int length = formatted.length();
+ if (formatted.charAt(length - 2) == '.') {
+ return formatted + '0';
+ } else {
+ return formatted;
+ }
+ }
+
+}
diff --git a/src/main/java/UserInput.java b/src/main/java/UserInput.java
new file mode 100644
index 0000000..52c979a
--- /dev/null
+++ b/src/main/java/UserInput.java
@@ -0,0 +1,24 @@
+import java.util.Scanner;
+
+public class UserInput {
+
+ public static void main(String[] args) {
+
+ ExchangeMaster m = new ExchangeMaster();
+
+ Scanner input = new Scanner(System.in);
+
+ System.out.println("What kind of money you got b?");
+ String startingCurrencyType = input.nextLine();
+ System.out.println("How many " + startingCurrencyType + " do you have?");
+
+ Scanner input2 = new Scanner(System.in);
+
+ Double startingAmount = input2.nextDouble();
+ System.out.println("And what do you want to convert it to?");
+ String targetCurrencyType = input.nextLine();
+ System.out.println("You have $" + m.converter(startingAmount, startingCurrencyType, targetCurrencyType) + " in" + targetCurrencyType);
+
+ }
+
+}
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/ExchangeTester.java b/src/test/java/ExchangeTester.java
new file mode 100644
index 0000000..56da209
--- /dev/null
+++ b/src/test/java/ExchangeTester.java
@@ -0,0 +1,138 @@
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+
+
+public class ExchangeTester {
+
+
+ @Test
+ public void testFormatter() {
+ ExchangeMaster m = new ExchangeMaster();
+ double numberToFormat = 36.7569;
+ String expected = "36.76";
+ String actual = m.formatCurrency(numberToFormat);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testFormatter2() {
+ ExchangeMaster m = new ExchangeMaster();
+ double numberToFormat = 0.1;
+ String expected = "0.10";
+ String actual = m.formatCurrency(numberToFormat);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testDollarToEuro() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "US Dollar";
+ String convertTo = "Euro";
+ String expected = "9.40";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testEuroToDollar() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "EURO";
+ String convertTo = "us DOLLAR";
+ String expected = "10.64";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testEuroToPound() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "eurO";
+ String convertTo = "british POUnd";
+ String expected = "8.72";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testPoundToRupee() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "British Pound";
+ String convertTo = "indian rupee";
+ String expected = "833.17";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testRupeeToCanada() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "indian ruPEE";
+ String convertTo = "canadian dollar";
+ String expected = "0.19";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testCanadaToSingapore() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "canadian dollar";
+ String convertTo = "singAPORE Dollar";
+ String expected = "10.83";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testSingaporeToFranc() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "singapore dollar";
+ String convertTo = "swiss franc";
+ String expected = "7.06";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testFrancToRinggit() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "SWISS franc";
+ String convertTo = "malaysian ringgit";
+ String expected = "44.26";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testRinggitToYen() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "MALAYSIAN RINGGIT";
+ String convertTo = "japanese yen";
+ String expected = "259.15";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testYenToRenminbi() {
+ ExchangeMaster m = new ExchangeMaster();
+ double originalAmount = 10.00;
+ String originalCurrency = "japanese YEN";
+ String convertTo = "Chinese Yuan Renminbi";
+ String expected = "0.60";
+ String actual = m.converter(originalAmount, originalCurrency, convertTo);
+ Assert.assertEquals(expected, actual);
+ }
+
+}
diff --git a/target/classes/ExchangeMaster.class b/target/classes/ExchangeMaster.class
new file mode 100644
index 0000000..5ae0976
Binary files /dev/null and b/target/classes/ExchangeMaster.class differ
diff --git a/target/classes/UserInput.class b/target/classes/UserInput.class
new file mode 100644
index 0000000..bea7afc
Binary files /dev/null and b/target/classes/UserInput.class differ
diff --git a/target/test-classes/ExchangeTester.class b/target/test-classes/ExchangeTester.class
new file mode 100644
index 0000000..3907723
Binary files /dev/null and b/target/test-classes/ExchangeTester.class differ