//Invalid partitioning
@Test(expected = IllegalArgumentException.class)
public void testNoItemsOrder(){
OrderCalculator calculator= new OrderCalculator();
calculator.calculateTotalPrice(new double[]{},"VIP",false,null);
}
@Test(expected = IllegalArgumentException.class)
public void testInvalidPrice(){
OrderCalculator calculator= new OrderCalculator();
calculator.calculateTotalPrice(new double[]{-100},"VIP",false,null);
}
@Test(expected = IllegalArgumentException.class)
public void testNullOrder(){
OrderCalculator calculator= new OrderCalculator();
calculator.calculateTotalPrice(null,"VIP",false,null);
}
//Valid partitioning
[USER=18840]@Test[/USER]
//VIP CUSTOMER
public void testVIPCustomerWithNoDiscountCode(){
OrderCalculator calculator= new OrderCalculator();
double total = calculator.calculateTotalPrice(new double[]{100,200},"VIP",true,null);
assertEquals(240.0,total,0.01);
}
[USER=18840]@Test[/USER]
public void testRegularCustomerWithNoDiscountCode(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "Regular";
boolean isVip= false;
String discountCode = null;
double expect= 100.0;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(95,total,0.01);
}
[USER=18840]@Test[/USER]
public void testNoCustomerTpeWithNoDiscountCode(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= false;
String discountCode = null;
double expect= 100;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testPriceWithEmptyDiscountCode(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= true;
String discountCode = "";
double expect= 80;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testPriceWithWrongDiscountCode(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= true;
String discountCode = "ABC";
double expect= 80;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testVipCustomerWithSALE10(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= true;
String discountCode = "SALE10";
double expect= 70;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testVipCustomerWithWelcomes(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= true;
String discountCode = "WELCOMES";
double expect= 100.0;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(75,total,0.01);
}
[USER=18840]@Test[/USER]
public void testRegularCustomerWithSale10(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "Regular";
boolean isVip= false;
String discountCode = "SALE10";
double expect= 85;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testRegularCustomerWithWelcomes(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "Regular";
boolean isVip= false;
String discountCode = "WELCOMES";
double expect= 90;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testNoTypeCustomerWithSale10(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= false;
String discountCode = "SALE10";
double expect= 90;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
[USER=18840]@Test[/USER]
public void testNoTypeCustomerWithWelcome(){
OrderCalculator calculator= new OrderCalculator();
double[] items= {50.0,50.0};
String customerType= "";
boolean isVip= false;
String discountCode = "WELCOMES";
double expect= 95;
double total = calculator.calculateTotalPrice(items,customerType,isVip,discountCode);
assertEquals(expect,total,0.01);
}
}