From 45cbecaf3122cd8640949377ea0fff8187e84e95 Mon Sep 17 00:00:00 2001 From: Andrew Le Date: Sun, 29 Sep 2024 19:11:37 -0500 Subject: [PATCH 1/2] Created RewardValue class with cash to miles and vice versa conversions --- src/main/java/RewardValue.java | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/RewardValue.java 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); + } +} From 38214c9de0be4b465151efc641c0e1df81379e48 Mon Sep 17 00:00:00 2001 From: Andrew Le Date: Sun, 29 Sep 2024 19:16:32 -0500 Subject: [PATCH 2/2] Added unit tests for RewardValue class --- src/test/java/RewardValueTests.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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()); + } }