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

// Constructor to accept cash value and convert it to miles
public RewardValue(double cashValue) {
this.cashValue = cashValue;
this.milesValue = cashValue / 0.0035; // Convert cash to miles
}

// Constructor to accept miles value and convert it to cash
public RewardValue(double milesValue, boolean isMiles) {
this.milesValue = milesValue;
if (isMiles) {
this.cashValue = milesValue * 0.0035; // Convert miles to cash
} else {
this.cashValue = 0.0; // You could set a default if needed
}
}

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

// Method to return the miles value
public double getMilesValue() {
return milesValue;
}

// Main method for testing purposes
public static void main(String[] args) {
// Example to test the conversion from cash to miles
RewardValue rewardValueFromCash = new RewardValue(100.0); // $100 in cash
System.out.println("$100 is worth " + rewardValueFromCash.getMilesValue() + " miles.");

// Example to test the conversion from miles to cash
RewardValue rewardValueFromMiles = new RewardValue(5000.0, true); // 5000 miles
System.out.println("5000 miles is worth $" + rewardValueFromMiles.getCashValue());
}
}
4 changes: 2 additions & 2 deletions src/main/java/RewardsConverter.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public static void main(String[] args) {
return;
}
System.out.println("converting $" + input_value + " to miles");
var rewardsValue = new RewardValue(cashValue);
var rewardsValue = new RewardValue(cashValue); // Create RewardValue using cash
System.out.println("$" + input_value + " is worth " + rewardsValue.getMilesValue() + " miles");
}
}
}
21 changes: 16 additions & 5 deletions src/test/java/RewardValueTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,38 @@

public class RewardValueTests {

// Test: Create RewardValue object with a cash value
@Test
void create_with_cash_value() {
double cashValue = 100;
double cashValue = 100.0;
var rewardValue = new RewardValue(cashValue);
assertEquals(cashValue, rewardValue.getCashValue());
}

// Test: Create RewardValue object with a miles value
@Test
void create_with_miles_value() {
int milesValue = 10000;
var rewardValue = new RewardValue(milesValue);
double milesValue = 10000.0;
var rewardValue = new RewardValue(milesValue, true); // Miles constructor
assertEquals(milesValue, rewardValue.getMilesValue());
}

// Test: Convert from cash to miles
@Test
void convert_from_cash_to_miles() {
assert false;
double cashValue = 100.0;
var rewardValue = new RewardValue(cashValue);
double expectedMiles = cashValue / 0.0035;
assertEquals(expectedMiles, rewardValue.getMilesValue());
}

// Test: Convert from miles to cash
@Test
void convert_from_miles_to_cash() {
assert false;
double milesValue = 5000.0;
var rewardValue = new RewardValue(milesValue, true); // Miles constructor
double expectedCash = milesValue * 0.0035;
assertEquals(expectedCash, rewardValue.getCashValue());
}
}