Newer
Older
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

Karsch Lukas
committed
IngredientManager underTest = new IngredientManager();

Karsch Lukas
committed
NutritionTable tt = ValidObjectsPool.getValidNutritionTableOne();
@BeforeEach
public void setup() {
underTest.clearIngredients();
}
@Test
Assertions.assertThrows(InvalidIngredientException.class, () -> new Ingredient(Measurement.GRAM, null, tt));
Assertions.assertThrows(InvalidIngredientException.class, () -> new Ingredient(Measurement.GRAM, "", tt));
public void shouldNotCreateIngredientWithNutritionTableNull() {
Assertions.assertThrows(InvalidIngredientException.class, () -> new Ingredient(Measurement.GRAM, "foo", null));
}
@Test
public void shouldNotBeAbleToAddIdenticalName() {
underTest.addIngredient(Measurement.GRAM, "Banana", tt);

Karsch Lukas
committed
Assertions.assertThrows(InvalidIngredientException.class, () -> underTest.addIngredient(Measurement.PIECE, "Banana", tt));
@Test
public void shouldRemoveExistingIngredient() {
//given
Ingredient i1 = ValidObjectsPool.getValidIngredientOne();
underTest.addIngredient(i1);
//when
underTest.deleteIngredient(i1.getName());
Assertions.assertEquals(0, underTest.getAllIngredients().size());
public void shouldThrowWhenRemovingWrongIngredient() {
Ingredient i1 = ValidObjectsPool.getValidIngredientOne();
Assertions.assertThrows(InvalidIngredientException.class, () -> underTest.deleteIngredient(i1.getName()));