Skip to content
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
26 changes: 26 additions & 0 deletions src/main/java/RewardValue.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
public class RewardValue {
private double cashValue;
private int milesValue;

// Constructor that accepts a cash value
public RewardValue(double cashValue) {
this.cashValue = cashValue;
this.milesValue = (int) (cashValue / 0.0035);
}

// Constructor that accepts a miles value
public RewardValue(int milesValue) {
this.milesValue = milesValue;
this.cashValue = milesValue * 0.0035;
}

// Method to get the cash value
public double getCashValue() {
return cashValue;
}

// Method to get the miles value
public int getMilesValue() {
return milesValue;
}
}
18 changes: 14 additions & 4 deletions src/test/java/RewardValueTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,22 @@ void create_with_miles_value() {
}

@Test
void convert_from_cash_to_miles() {
assert false;
void convert_from_cash_to_miles()
{
double cashValue = 100;
var rewardValue = new RewardValue(cashValue);
int expectedMiles = (int) (cashValue / 0.0035);
assertEquals(expectedMiles, rewardValue.getMilesValue(), "Conversion of cash to miles has failed");
}



@Test
void convert_from_miles_to_cash() {
assert false;
void convert_from_miles_to_cash()
{
int milesValue = 10000;
var rewardValue = new RewardValue(milesValue);
double expectedCash = milesValue * 0.0035;
assertEquals(expectedCash, rewardValue.getCashValue(), 0.001, "Conversion of miles to cash has failed");
}
}