diff --git a/.run/rewards value.run.xml b/.run/rewards value.run.xml new file mode 100644 index 000000000..91b043d6c --- /dev/null +++ b/.run/rewards value.run.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/main/java/RewardValue.java b/src/main/java/RewardValue.java new file mode 100644 index 000000000..fba7c6c2b --- /dev/null +++ b/src/main/java/RewardValue.java @@ -0,0 +1,26 @@ +public class RewardValue { + private double cashValue; + private int milesValue; + + // Constructor for cash value (double) + public RewardValue(double cashValue) { // Accepts double for cash + this.cashValue = cashValue; + this.milesValue = (int) (cashValue / 0.0035); // Converts cash to miles + } + + // Constructor for miles value (int) + public RewardValue(int milesValue) { // Accepts int for miles + this.milesValue = milesValue; + this.cashValue = milesValue * 0.0035; // Converts miles to cash + } + + // Method to get cash value + public double getCashValue() { + return cashValue; + } + + // Method to get miles value + public int getMilesValue() { + return milesValue; + } +} \ No newline at end of file diff --git a/src/main/java/RewardsConverter.java b/src/main/java/RewardsConverter.java index 2c35d11a5..43822ed9b 100644 --- a/src/main/java/RewardsConverter.java +++ b/src/main/java/RewardsConverter.java @@ -14,7 +14,8 @@ public static void main(String[] args) { return; } System.out.println("converting $" + input_value + " to miles"); - var rewardsValue = new RewardValue(cashValue); + var rewardsValue = new RewardValue((int) cashValue); System.out.println("$" + input_value + " is worth " + rewardsValue.getMilesValue() + " miles"); } -} \ No newline at end of file +} + diff --git a/src/test/java/RewardValueTests.java b/src/test/java/RewardValueTests.java index b3a78de7d..8cdbe083a 100644 --- a/src/test/java/RewardValueTests.java +++ b/src/test/java/RewardValueTests.java @@ -1,12 +1,12 @@ import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; + public class RewardValueTests { @Test void create_with_cash_value() { - double cashValue = 100; + double cashValue = 100.0; var rewardValue = new RewardValue(cashValue); assertEquals(cashValue, rewardValue.getCashValue()); } @@ -20,11 +20,21 @@ void create_with_miles_value() { @Test void convert_from_cash_to_miles() { - assert false; + double cashValue = 100.0; + var rewardValue = new RewardValue(cashValue); + // Miles = cashValue / 0.0035 + int expectedMiles = (int) (cashValue / 0.0035); + assertEquals(expectedMiles, rewardValue.getMilesValue()); + // assert false; } @Test void convert_from_miles_to_cash() { - assert false; + int milesValue = 10000; + var rewardValue = new RewardValue(milesValue); + // Cash = milesValue * 0.0035 + double expectedCash = milesValue * 0.0035; + assertEquals(expectedCash, rewardValue.getCashValue(),0.001); // Add tolerance for floating point + // assert false; } }