Added tests for Recipe.
This commit is contained in:
parent
110c8e72d4
commit
873f1911ac
1 changed files with 128 additions and 0 deletions
128
commons/src/test/java/commons/RecipeTest.java
Normal file
128
commons/src/test/java/commons/RecipeTest.java
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
package commons;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class RecipeTest {
|
||||
|
||||
Recipe recipe;
|
||||
|
||||
@BeforeEach
|
||||
void setupRecipe() {
|
||||
this.recipe = new Recipe(1L, "Chocolate Cake");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getId() {
|
||||
assertEquals(1L, recipe.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
void setId() {
|
||||
recipe.setId(2048L);
|
||||
assertEquals(2048L, recipe.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
void getName() {
|
||||
assertEquals("Chocolate Cake", recipe.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
void setName() {
|
||||
recipe.setName("Steak");
|
||||
assertEquals("Steak", recipe.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
void getIngredientsAddThrow() {
|
||||
// TODO: Change to actual Ingredient class later
|
||||
assertThrows(UnsupportedOperationException.class, () -> {
|
||||
recipe.getIngredients().add("Lasagna");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void getIngredientsClearThrow() {
|
||||
assertThrows(UnsupportedOperationException.class, () -> {
|
||||
recipe.getIngredients().clear();
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void setIngredients() {
|
||||
// TODO: Change to actual Ingredient class later
|
||||
List<String> ingredients = new ArrayList<>(List.of("Chocolate", "Flour", "Egg"));
|
||||
recipe.setIngredients(ingredients);
|
||||
|
||||
assertEquals(recipe.getIngredients(), ingredients);
|
||||
assertEquals(recipe.getIngredients().size(), 3);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getPreparationStepsAddThrow() {
|
||||
assertThrows(UnsupportedOperationException.class, () -> {
|
||||
recipe.getPreparationSteps().add("Preheat Oven");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void getPreparationStepsClearThrow() {
|
||||
assertThrows(UnsupportedOperationException.class, () -> {
|
||||
recipe.getPreparationSteps().clear();
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void setPreparationSteps() {
|
||||
List<String> steps = new ArrayList<>(List.of("Preheat oven", "Mix stuff", "decorate"));
|
||||
recipe.setPreparationSteps(steps);
|
||||
|
||||
assertEquals(recipe.getPreparationSteps(), steps);
|
||||
assertEquals(recipe.getPreparationSteps().size(), 3);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEqualsSame() {
|
||||
Recipe recipe2 = new Recipe(1L, "Chocolate Cake");
|
||||
assertEquals(recipe, recipe2);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEqualsSameExceptId() {
|
||||
Recipe recipe2 = new Recipe(2L, "Chocolate Cake");
|
||||
assertNotEquals(recipe, recipe2);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEqualsOnlySameId() {
|
||||
Recipe recipe2 = new Recipe(1L, "Some random recipe");
|
||||
assertEquals(recipe, recipe2); // Equals, we only look at ID!!!
|
||||
}
|
||||
|
||||
@Test
|
||||
void testHashCodeSame() {
|
||||
Recipe recipe2 = new Recipe(1L, "Chocolate Cake");
|
||||
|
||||
assertEquals(recipe.hashCode(), recipe2.hashCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testHashCodeSameExceptId() {
|
||||
Recipe recipe2 = new Recipe(2L, "Chocolate Cake");
|
||||
|
||||
assertNotEquals(recipe.hashCode(), recipe2.hashCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testHashCodeOnlySameId() {
|
||||
Recipe recipe2 = new Recipe(1L, "Some random recipe");
|
||||
|
||||
assertEquals(recipe.hashCode(), recipe2.hashCode()); // Same, only looks at ID!!!
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue