diff --git a/src/main/java/Currencies.java b/src/main/java/Currencies.java new file mode 100644 index 0000000..ba7739e --- /dev/null +++ b/src/main/java/Currencies.java @@ -0,0 +1,13 @@ +public class Currencies { + public static final double usDollar = 1.00; + public static final double euro = 0.94; + public static final double britishPound = 0.82; + public static final double indianRupee = 68.32; + public static final double australianDollar = 1.35; + public static final double canadianDollar = 1.32; + public static final double singaporeDollar = 1.43; + public static final double swissFranc = 1.01; + public static final double malaysianRinggit = 4.47; + public static final double japaneseYen = 115.84; + public static final double chineseYuanRenminbi = 6.92; +} \ 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/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..00ad615 --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,9 @@ +public class Main { + public static void main(String[] args){ + Selector start = new Selector(); + start.initialCurrencySelector(); + start.secondCurrencySelector(); + start.currencyAmout(); + System.out.println(start.convertCurrencies()); + } +} diff --git a/src/main/java/Selector.java b/src/main/java/Selector.java new file mode 100644 index 0000000..7d8f243 --- /dev/null +++ b/src/main/java/Selector.java @@ -0,0 +1,156 @@ + + +import java.util.Formatter; +import java.util.Scanner; + +public class Selector extends Currencies { + private Scanner firstCurrency = new Scanner(System.in); + private int firstCurrencyInput; + private double firstCurrencyRate; + private double secondCurrencyRate; + private Scanner secondCurrencySelection = new Scanner(System.in); + private int secondCurrencyInput; + private Scanner valueToBeConverted = new Scanner(System.in); + private double valueToBeConvertedInput; + + public void initialCurrencySelector() { + System.out.println("Please make a selection for your initial currency: \n" + + "1 for USDollar\n" + + "2 for Euro\n" + + "3 for British Pound\n" + + "4 for Indian Rupee\n" + + "5 for Australian Dollar\n" + + "6 for Canadian Dollar\n" + + "7 for Singapore Dollar\n" + + "8 for Swiss Franc\n" + + "9 for Malaysian Ringgit\n" + + "10 for Japanese Yen\n" + + "11 for Chinese Yuan Renminbi"); + firstCurrencyInput = firstCurrency.nextInt(); + firstCurrencyAnswer(firstCurrencyInput); + + } + + public void firstCurrencyAnswer(Integer firstCurrencyInput) { + switch (firstCurrencyInput) { + case 1: + firstCurrencyRate = usDollar; + break; + case 2: + firstCurrencyRate = euro; + break; + case 3: + firstCurrencyRate = britishPound; + break; + case 4: + firstCurrencyRate = indianRupee; + break; + case 5: + firstCurrencyRate = australianDollar; + break; + case 6: + firstCurrencyRate = canadianDollar; + break; + case 7: + firstCurrencyRate = singaporeDollar; + break; + case 8: + firstCurrencyRate = swissFranc; + break; + case 9: + firstCurrencyRate = malaysianRinggit; + break; + case 10: + firstCurrencyRate = japaneseYen; + break; + case 11: + firstCurrencyRate = chineseYuanRenminbi; + break; + default: + System.out.println("Your selection did not match an option."); + break; + + } + } + + public void secondCurrencySelector() { + System.out.println("Please make a selection for the currency you would like to convert to: \n" + + "1 for USDollar\n" + + "2 for Euro\n" + + "3 for British Pound\n" + + "4 for Indian Rupee\n" + + "5 for Australian Dollar\n" + + "6 for Canadian Dollar\n" + + "7 for Singapore Dollar\n" + + "8 for Swiss Franc\n" + + "9 for Malaysian Ringgit\n" + + "10 for Japanese Yen\n" + + "11 for Chinese Yuan Renminbi"); + secondCurrencyInput = secondCurrencySelection.nextInt(); + secondCurrencyAnswer(secondCurrencyInput); + + } + + public void secondCurrencyAnswer(Integer secondCurrencyInput) { + switch (secondCurrencyInput) { + case 1: + secondCurrencyRate = usDollar; + break; + case 2: + secondCurrencyRate = euro; + break; + case 3: + secondCurrencyRate = britishPound; + break; + case 4: + secondCurrencyRate = indianRupee; + break; + case 5: + secondCurrencyRate = australianDollar; + break; + case 6: + secondCurrencyRate = canadianDollar; + break; + case 7: + secondCurrencyRate = singaporeDollar; + break; + case 8: + secondCurrencyRate = swissFranc; + break; + case 9: + secondCurrencyRate = malaysianRinggit; + break; + case 10: + secondCurrencyRate = japaneseYen; + break; + case 11: + secondCurrencyRate = chineseYuanRenminbi; + break; + default: + System.out.println("Your selection did not match an option."); + break; + + } + + } + + public void currencyAmout() { + System.out.println("Please enter the amount you wish to convert:"); + valueToBeConvertedInput = valueToBeConverted.nextDouble(); + } + + public String convertCurrencies() { + double convertedValue = (valueToBeConvertedInput / firstCurrencyRate) * secondCurrencyRate; + if (firstCurrencyRate == secondCurrencyRate) { + return "Those are the same currencies!"; + } else { + Formatter string = new Formatter(); + string.format("%.2f converted is equal to %.2f", valueToBeConvertedInput, convertedValue); + return string.toString(); + } + } + + public void setValueToBeConvertedInput(double input){ + valueToBeConvertedInput = input; + } +} diff --git a/src/test/java/CurrencyConverterTest.java b/src/test/java/CurrencyConverterTest.java new file mode 100644 index 0000000..ca74295 --- /dev/null +++ b/src/test/java/CurrencyConverterTest.java @@ -0,0 +1,104 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + + + +public class CurrencyConverterTest { + + Selector selector = new Selector(); + + @Test + public void testDollarToEuro() { + selector.firstCurrencyAnswer(1); + selector.secondCurrencyAnswer(2); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 94.00"; + Assert.assertEquals(expected, actual); + } + @Test + public void testEurotoDollar() { + selector.firstCurrencyAnswer(2); + selector.secondCurrencyAnswer(1); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 106.38"; + Assert.assertEquals(expected, actual); + } + @Test + public void testEuroToBritishPound() { + selector.firstCurrencyAnswer(2); + selector.secondCurrencyAnswer(3); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 87.23"; + Assert.assertEquals(expected, actual); + } + @Test + public void testBritishPoundToIndianRupee() { + selector.firstCurrencyAnswer(3); + selector.secondCurrencyAnswer(4); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 8331.71"; + Assert.assertEquals(expected, actual); + } + @Test + public void testIndianRupeeToCanadianDollar() { + selector.firstCurrencyAnswer(4); + selector.secondCurrencyAnswer(6); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 1.93"; + Assert.assertEquals(expected, actual); + } + @Test + public void testCanadianDollarToSingaporeDollar() { + selector.firstCurrencyAnswer(6); + selector.secondCurrencyAnswer(7); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 108.33"; + Assert.assertEquals(expected, actual); + } + @Test + public void testSingaporeDollarToSwissFranc() { + selector.firstCurrencyAnswer(7); + selector.secondCurrencyAnswer(8); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 70.63"; + Assert.assertEquals(expected, actual); + } + @Test + public void testSwissFrancToMalaysianRinggit() { + selector.firstCurrencyAnswer(8); + selector.secondCurrencyAnswer(9); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 442.57"; + Assert.assertEquals(expected, actual); + } + @Test + public void testMalaysianRinggitToJapaneseYen() { + selector.firstCurrencyAnswer(9); + selector.secondCurrencyAnswer(10); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 2591.50"; + Assert.assertEquals(expected, actual); + } + @Test + public void testJapaneseYenToChineseYuanRenminbi() { + selector.firstCurrencyAnswer(10); + selector.secondCurrencyAnswer(11); + selector.setValueToBeConvertedInput(100); + String actual = selector.convertCurrencies(); + String expected = "100.00 converted is equal to 5.97"; + Assert.assertEquals(expected, actual); + } + +} + + diff --git a/src/test/java/DELETEME b/src/test/java/DELETEME deleted file mode 100644 index e69de29..0000000 diff --git a/target/classes/Currencies.class b/target/classes/Currencies.class new file mode 100644 index 0000000..9ca84d1 Binary files /dev/null and b/target/classes/Currencies.class differ diff --git a/target/classes/Main.class b/target/classes/Main.class new file mode 100644 index 0000000..1c2b44c Binary files /dev/null and b/target/classes/Main.class differ diff --git a/target/classes/Selector.class b/target/classes/Selector.class new file mode 100644 index 0000000..d6cc4e1 Binary files /dev/null and b/target/classes/Selector.class differ diff --git a/target/test-classes/CurrencyConverterTest.class b/target/test-classes/CurrencyConverterTest.class new file mode 100644 index 0000000..32a7b72 Binary files /dev/null and b/target/test-classes/CurrencyConverterTest.class differ