Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RewardValue test class for conversions #1436

Open
wants to merge 1 commit into
base: flow
Choose a base branch
from
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
2 changes: 2 additions & 0 deletions src/main/java/RewardsConverter.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import main.java.RewardValue;

import java.util.Scanner;

public class RewardsConverter {
Expand Down
33 changes: 33 additions & 0 deletions src/main/java/main/java/RewardValue.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package main.java;
public class RewardValue {


private double cashValue;
private double milesValue;

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

// Constructor for miles value
public RewardValue(double milesValue, boolean isMiles) {
if (isMiles) {
this.milesValue = milesValue;
this.cashValue = milesValue * 0.0035; // Convert miles to cash
}
}

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

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


24 changes: 21 additions & 3 deletions src/test/java/RewardValueTests.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import main.java.RewardValue;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;
Expand All @@ -15,16 +16,33 @@ void create_with_cash_value() {
void create_with_miles_value() {
int milesValue = 10000;
var rewardValue = new RewardValue(milesValue);
assertEquals(milesValue, rewardValue.getMilesValue());
assertEquals(milesValue, rewardValue.getCashValue());
}

@Test
void convert_from_cash_to_miles() {
assert false;

double cashValue = 350.0;
RewardValue rewardValue = new RewardValue(cashValue);

// When converting to miles
double expectedMiles = cashValue / 0.0035;

// Then the miles value should be correct
assertEquals(expectedMiles, rewardValue.getMilesValue(), 0.01);
}


@Test
void convert_from_miles_to_cash() {
assert false;
// Given a miles value
double milesValue = 1000.0;
RewardValue rewardValue = new RewardValue(milesValue, true);

// When converting to cash
double expectedCash = milesValue * 0.0035;

// Then the cash value should be correct
assertEquals(expectedCash, rewardValue.getCashValue(), 0.01);
}
}
48 changes: 48 additions & 0 deletions src/test/java/test/java/RewardValueTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package test.java; // Adjust this according to your package structure

import main.java.RewardValue;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class RewardValueTest {

@Test
public void testCashToMilesConversion() {
// Given a cash value
double cashValue = 350.0;
RewardValue rewardValue = new RewardValue(cashValue);

// When converting to miles
double expectedMiles = cashValue / 0.0035;

// Then the miles value should be correct
assertEquals(expectedMiles, rewardValue.getMilesValue(), 0.01);
}

@Test
public void testMilesToCashConversion() {
// Given a miles value
double milesValue = 1000.0;
RewardValue rewardValue = new RewardValue(milesValue, true);

// When converting to cash
double expectedCash = milesValue * 0.0035;

// Then the cash value should be correct
assertEquals(expectedCash, rewardValue.getCashValue(), 0.01);
}

@Test
public void testMilesToCashConversionNegative() {
// Given a negative miles value
double milesValue = -1000.0;
RewardValue rewardValue = new RewardValue(milesValue, true);

// When converting to cash
double expectedCash = milesValue * 0.0035;

// Then the cash value should be correct
assertEquals(expectedCash, rewardValue.getCashValue(), 0.01);
}
}