Skip to content

Finished project #71

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/main/java/Currencies.java
Original file line number Diff line number Diff line change
@@ -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;
}
Empty file removed src/main/java/DELETEME
Empty file.
9 changes: 9 additions & 0 deletions src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
156 changes: 156 additions & 0 deletions src/main/java/Selector.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
104 changes: 104 additions & 0 deletions src/test/java/CurrencyConverterTest.java
Original file line number Diff line number Diff line change
@@ -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);
}

}


Empty file removed src/test/java/DELETEME
Empty file.
Binary file added target/classes/Currencies.class
Binary file not shown.
Binary file added target/classes/Main.class
Binary file not shown.
Binary file added target/classes/Selector.class
Binary file not shown.
Binary file added target/test-classes/CurrencyConverterTest.class
Binary file not shown.