Minimally, have at least 5 tests to test the discount if statements - possibly more because you'll want to test the endpoint of the ranges. To test the cup of coffee rewards method, have at least three tests. import java.util.Scanner; public class BagelBonus { public static double getDiscountPercentage(double spent) { final double TWENTY_DOLLARS = 20.0; final double THIRTY_FIVE_DOLLARS = 35.0; final double SEVENTY_FIVE = 75.0; final double ABOVE_150_DOLLARS = 150.0; if (spent <= TWENTY_DOLLARS) return 0.0; else if (spent <= THIRTY_FIVE_DOLLARS) return 5.0; else if (spent <= SEVENTY_FIVE) return 7.0; else if (spent <= ABOVE_150_DOLLARS) return 9.0; else return 12; } public static int cupsWon(double spent){ final double $25 = 20.0; final double $50 = 50; final double $100 = 100.0; if(spent<=$25)return 0; else if(spent<=$50)return 1; else if(spent<=$100)return 2; else return 3; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double spent, discountPercentage,disount; int cupsWon =0; System.out.println("Monthly amount spent at the Bagel Shop:"); spent = scanner.nextDouble(); discountPercentage = getDiscountPercentage(spent); disount = discountPercentage*spent/100; cupsWon = cupsWon(spent); System.out.printf("You received a discount coupon of $%.2f.(%.1f)%% of your previous" + " month\'s purchase)\n",disount,discountPercentage); System.out.println("You have earned "+cupsWon+" cup(s) of coffee."); } }
I need a JUnit 5 test code for this
Minimally, have at least 5 tests to test the discount if statements - possibly more because you'll want to test the endpoint of the ranges.
To test the cup of coffee rewards method, have at least three tests.
import java.util.Scanner;
public class BagelBonus {
public static double getDiscountPercentage(double spent) {
final double TWENTY_DOLLARS = 20.0;
final double THIRTY_FIVE_DOLLARS = 35.0;
final double SEVENTY_FIVE = 75.0;
final double ABOVE_150_DOLLARS = 150.0;
if (spent <= TWENTY_DOLLARS) return 0.0;
else if (spent <= THIRTY_FIVE_DOLLARS) return 5.0;
else if (spent <= SEVENTY_FIVE) return 7.0;
else if (spent <= ABOVE_150_DOLLARS) return 9.0;
else return 12;
}
public static int cupsWon(double spent){
final double $25 = 20.0;
final double $50 = 50;
final double $100 = 100.0;
if(spent<=$25)return 0;
else if(spent<=$50)return 1;
else if(spent<=$100)return 2;
else return 3;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double spent, discountPercentage,disount;
int cupsWon =0;
System.out.println("Monthly amount spent at the Bagel Shop:");
spent = scanner.nextDouble();
discountPercentage = getDiscountPercentage(spent);
disount = discountPercentage*spent/100;
cupsWon = cupsWon(spent);
System.out.printf("You received a discount coupon of $%.2f.(%.1f)%% of your previous" +
" month\'s purchase)\n",disount,discountPercentage);
System.out.println("You have earned "+cupsWon+" cup(s) of coffee.");
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps