diff --git a/src/main/java/RewardValue.java b/src/main/java/RewardValue.java new file mode 100644 index 000000000..d1db8c462 --- /dev/null +++ b/src/main/java/RewardValue.java @@ -0,0 +1,31 @@ +public class RewardValue { + + private double cashValue; + private int milesValue; + + private static double milesToCashRate = 0.0035; + + public RewardValue(double cash){ + this.cashValue = cash; + this.milesValue = cashToMilesConversion(cash); + } + public RewardValue(int miles){ + this.milesValue = miles; + this.cashValue = milesToCashConversion(miles); + } + + public int getMilesValue() { + return milesValue; + } + + public double getCashValue() { + return cashValue; + } + + private int cashToMilesConversion(double cash){ + return (int) (cash/milesToCashRate); + } + private double milesToCashConversion(int miles){ + return (miles*milesToCashRate); + } +} diff --git a/src/test/java/RewardValueTests.java b/src/test/java/RewardValueTests.java index b3a78de7d..70d4bd985 100644 --- a/src/test/java/RewardValueTests.java +++ b/src/test/java/RewardValueTests.java @@ -4,6 +4,7 @@ public class RewardValueTests { + private static double milesToCashRate = 0.0035; @Test void create_with_cash_value() { double cashValue = 100; @@ -20,11 +21,19 @@ void create_with_miles_value() { @Test void convert_from_cash_to_miles() { - assert false; + + double cashValue = 12000; + int expectedMilesValue = (int) (cashValue/milesToCashRate); + var rewardValue = new RewardValue(cashValue); + assertEquals(expectedMilesValue,rewardValue.getMilesValue()); } @Test void convert_from_miles_to_cash() { - assert false; + int milesValue = 10000; + double expectedCashValue = (milesValue*milesToCashRate); + var rewardValue = new RewardValue(milesValue); + assertEquals(expectedCashValue,rewardValue.getCashValue()); + } }