85 lines
2.5 KiB
Java
85 lines
2.5 KiB
Java
package model;
|
|
|
|
import model.exceptions.OrderException;
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.util.*;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class OrderTest {
|
|
|
|
private List<Pizza> pizzas;
|
|
private Order order;
|
|
|
|
@BeforeEach
|
|
void setUp() {
|
|
pizzas = new ArrayList<>(Arrays.asList(new Pizza(), new Pizza()));
|
|
order = new Order("Max Mustermann", pizzas, new Date());
|
|
}
|
|
|
|
@Test
|
|
void getCustomer() {
|
|
assertEquals("Max Mustermann", order.getCustomer());
|
|
assertNotEquals("Wrong", order.getCustomer());
|
|
}
|
|
|
|
@Test
|
|
void setCustomer() {
|
|
order.setCustomer("Max Mustermann 2");
|
|
assertEquals("Max Mustermann 2", order.getCustomer());
|
|
assertNotEquals("Max Mustermann", order.getCustomer());
|
|
}
|
|
|
|
@Test
|
|
void getPizzas() {
|
|
assertEquals(pizzas, order.getPizzas());
|
|
assertNotEquals(Arrays.asList(new Pizza(), new Pizza()), order.getPizzas());
|
|
}
|
|
|
|
@Test
|
|
void setPizzas() throws OrderException {
|
|
List<Pizza> newPizzas = new ArrayList<>(Arrays.asList(new Pizza(), new Pizza()));
|
|
order.setPizzas(newPizzas);
|
|
assertEquals(newPizzas, order.getPizzas());
|
|
assertNotEquals(pizzas, order.getPizzas());
|
|
}
|
|
|
|
/**
|
|
* Tests if the exception is thrown when order is not in {@link model.Order.OrderState#IN_PROGRESS}
|
|
*/
|
|
@Test
|
|
void addPizzaAfterCompletion() {
|
|
order.setOrderState(Order.OrderState.DELIVERD);
|
|
assertThrows(OrderException.class, () -> order.setPizzas(pizzas));
|
|
}
|
|
|
|
/**
|
|
* Tests if the pizza is added to the pizza List.
|
|
*/
|
|
@Test
|
|
void addPizzaBeforeCompletion() throws OrderException {
|
|
order.addPizza(new Pizza());
|
|
}
|
|
|
|
@Test
|
|
void setOrderState() {
|
|
order.setOrderState(Order.OrderState.DELIVERD);
|
|
assertEquals(Order.OrderState.DELIVERD, order.getOrderState());
|
|
assertNotEquals(Order.OrderState.WAIT, order.getOrderState());
|
|
}
|
|
|
|
@Test
|
|
void setDate() {
|
|
Date today = new Date();
|
|
Calendar c = Calendar.getInstance();
|
|
c.setTime(today);
|
|
c.add(Calendar.DAY_OF_MONTH, 21);
|
|
Date currentDatePlus21d = c.getTime();
|
|
assertThrows(IllegalArgumentException.class, () -> order.setDate(currentDatePlus21d));
|
|
c.add(Calendar.DAY_OF_MONTH, -2);
|
|
Date currentDatePlus19d = c.getTime();
|
|
assertDoesNotThrow(() -> order.setDate(currentDatePlus19d));
|
|
}
|
|
}
|