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