From 87f8a883d5197086b0681935a87805103c9dd93c Mon Sep 17 00:00:00 2001 From: Mei Chang van der Werff Date: Wed, 17 Dec 2025 14:52:40 +0100 Subject: [PATCH 1/5] getUnit() tests --- .../java/commons/RecipeIngredientTest.java | 62 ++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/commons/src/test/java/commons/RecipeIngredientTest.java b/commons/src/test/java/commons/RecipeIngredientTest.java index b2d989a..3e516e1 100644 --- a/commons/src/test/java/commons/RecipeIngredientTest.java +++ b/commons/src/test/java/commons/RecipeIngredientTest.java @@ -1,4 +1,64 @@ package commons; -//should i do it or wait for lines for next week + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + public class RecipeIngredientTest { + + private Recipe recipe; + private Ingredient ingredient; + private RecipeIngredient recipeIngredient; + private RecipeIngredient testIngredient; + + @BeforeEach + void setup(){ + recipe = new Recipe(); + ingredient = new Ingredient(); + testIngredient = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); + } + + + @Test + void getFormalUnitTest(){ + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"GRAM"); + assertEquals(Unit.GRAM, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); + assertEquals(Unit.KILOGRAM, recipeIngredient.getUnit()); + + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"MILLILITER"); + assertEquals(Unit.MILLILITER, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"LITER"); + assertEquals(Unit.LITER, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"TEASPOON"); + assertEquals(Unit.TEASPOON, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"TABLESPOON"); + assertEquals(Unit.TABLESPOON, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"CUP"); + assertEquals(Unit.CUP, recipeIngredient.getUnit()); + + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"PIECE"); + assertEquals(Unit.PIECE, recipeIngredient.getUnit()); + } + + @Test + void getInformalUnitTest(){ + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"PINCH"); + assertEquals(Unit.PINCH, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"HANDFUL"); + assertEquals(Unit.HANDFUL, recipeIngredient.getUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"TO_TASTE"); + assertEquals(Unit.TO_TASTE, recipeIngredient.getUnit()); + } + + @Test + void getUnknownUnitTest(){ + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"RANDOM"); + assertNull(recipeIngredient.getUnit()); + } + + + } From 4a902ead20cf6cd357c76caa24c421bb62e57d8c Mon Sep 17 00:00:00 2001 From: Mei Chang van der Werff Date: Thu, 18 Dec 2025 00:54:44 +0100 Subject: [PATCH 2/5] ConvertToBaseUnit test + code fix --- commons/src/main/java/commons/RecipeIngredient.java | 2 +- .../src/test/java/commons/RecipeIngredientTest.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/commons/src/main/java/commons/RecipeIngredient.java b/commons/src/main/java/commons/RecipeIngredient.java index 36488d9..8b18d41 100644 --- a/commons/src/main/java/commons/RecipeIngredient.java +++ b/commons/src/main/java/commons/RecipeIngredient.java @@ -69,7 +69,7 @@ public class RecipeIngredient { public double amountInBaseUnit() { Unit unit = getUnit(); - if (unit == null || unit.isFormal() || unit.conversionFactor <= 0) { + if (unit == null || !unit.isFormal() || unit.conversionFactor <= 0) { return 0.0; } return amount * unit.conversionFactor; diff --git a/commons/src/test/java/commons/RecipeIngredientTest.java b/commons/src/test/java/commons/RecipeIngredientTest.java index 3e516e1..bdb4c08 100644 --- a/commons/src/test/java/commons/RecipeIngredientTest.java +++ b/commons/src/test/java/commons/RecipeIngredientTest.java @@ -11,13 +11,11 @@ public class RecipeIngredientTest { private Recipe recipe; private Ingredient ingredient; private RecipeIngredient recipeIngredient; - private RecipeIngredient testIngredient; @BeforeEach void setup(){ recipe = new Recipe(); ingredient = new Ingredient(); - testIngredient = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); } @@ -59,6 +57,16 @@ public class RecipeIngredientTest { assertNull(recipeIngredient.getUnit()); } + @Test + void convertToBaseUnit(){ + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); + assertEquals(1000, recipeIngredient.amountInBaseUnit()); + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"PINCH"); + assertEquals(0,recipeIngredient.amountInBaseUnit()); + + recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"RANDOM"); + assertEquals(0,recipeIngredient.amountInBaseUnit()); + } } From fef20ec8760c5ab70334866621c6ff6bb0e6820b Mon Sep 17 00:00:00 2001 From: Mei Chang van der Werff Date: Thu, 18 Dec 2025 03:35:47 +0100 Subject: [PATCH 3/5] refactor to setters TODO, ingredientController --- commons/src/main/java/commons/Ingredient.java | 4 ++++ server/src/main/java/server/api/IngredientController.java | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/commons/src/main/java/commons/Ingredient.java b/commons/src/main/java/commons/Ingredient.java index 23b2223..2ecc532 100644 --- a/commons/src/main/java/commons/Ingredient.java +++ b/commons/src/main/java/commons/Ingredient.java @@ -50,6 +50,10 @@ public class Ingredient { + carbsPer100g * KCAL_PER_GRAM_CARBS + fatPer100g * KCAL_PER_GRAM_FAT; } + + public void setId(long id) { + this.id = id; + } } diff --git a/server/src/main/java/server/api/IngredientController.java b/server/src/main/java/server/api/IngredientController.java index 7015aca..531b8f3 100644 --- a/server/src/main/java/server/api/IngredientController.java +++ b/server/src/main/java/server/api/IngredientController.java @@ -134,8 +134,7 @@ public class IngredientController { return ResponseEntity.notFound().build(); } - // TODO: Refactor to use setters - updated.id = id; + updated.setId(id); Ingredient savedIngredient = ingredientRepository.save(updated); messagingTemplate.convertAndSend(Topics.INGREDIENTS, new CreateIngredientMessage(savedIngredient)); From 6794efa3a6e7fe3f213b641ef8d4f2ddb975216a Mon Sep 17 00:00:00 2001 From: Mei Chang van der Werff Date: Thu, 18 Dec 2025 04:25:42 +0100 Subject: [PATCH 4/5] tested all units conversion and made every unit type a field --- .../java/commons/RecipeIngredientTest.java | 97 ++++++++++++------- 1 file changed, 60 insertions(+), 37 deletions(-) diff --git a/commons/src/test/java/commons/RecipeIngredientTest.java b/commons/src/test/java/commons/RecipeIngredientTest.java index bdb4c08..6a08b23 100644 --- a/commons/src/test/java/commons/RecipeIngredientTest.java +++ b/commons/src/test/java/commons/RecipeIngredientTest.java @@ -8,65 +8,88 @@ import static org.junit.jupiter.api.Assertions.assertNull; public class RecipeIngredientTest { - private Recipe recipe; - private Ingredient ingredient; - private RecipeIngredient recipeIngredient; + private RecipeIngredient gram; + private RecipeIngredient kilogram; + private RecipeIngredient milliliter; + private RecipeIngredient liter; + private RecipeIngredient teaspoon; + private RecipeIngredient tablespoon; + private RecipeIngredient cup; + private RecipeIngredient piece; + private RecipeIngredient pinch; + private RecipeIngredient handful; + private RecipeIngredient to_taste; + private RecipeIngredient invalid; @BeforeEach void setup(){ - recipe = new Recipe(); - ingredient = new Ingredient(); + Recipe recipe = new Recipe(); + Ingredient ingredient = new Ingredient(); + gram = new RecipeIngredient(recipe,ingredient,1,"GRAM"); + kilogram = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); + + milliliter = new RecipeIngredient(recipe,ingredient,1,"MILLILITER"); + liter = new RecipeIngredient(recipe,ingredient,1,"LITER"); + teaspoon = new RecipeIngredient(recipe,ingredient,1,"TEASPOON"); + tablespoon = new RecipeIngredient(recipe,ingredient,1,"TABLESPOON"); + cup = new RecipeIngredient(recipe,ingredient,1,"CUP"); + piece = new RecipeIngredient(recipe,ingredient,1,"PIECE"); + pinch = new RecipeIngredient(recipe,ingredient,1,"PINCH"); + handful = new RecipeIngredient(recipe,ingredient,1,"HANDFUL"); + to_taste = new RecipeIngredient(recipe,ingredient,1,"TO_TASTE"); + + invalid = new RecipeIngredient(recipe,ingredient,1,"INVALID"); } @Test void getFormalUnitTest(){ - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"GRAM"); - assertEquals(Unit.GRAM, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); - assertEquals(Unit.KILOGRAM, recipeIngredient.getUnit()); + assertEquals(Unit.GRAM, gram.getUnit()); + assertEquals(Unit.KILOGRAM, kilogram.getUnit()); + assertEquals(Unit.MILLILITER, milliliter.getUnit()); + assertEquals(Unit.LITER, liter.getUnit()); + assertEquals(Unit.TEASPOON, teaspoon.getUnit()); + assertEquals(Unit.TABLESPOON, tablespoon.getUnit()); + assertEquals(Unit.CUP, cup.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"MILLILITER"); - assertEquals(Unit.MILLILITER, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"LITER"); - assertEquals(Unit.LITER, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"TEASPOON"); - assertEquals(Unit.TEASPOON, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"TABLESPOON"); - assertEquals(Unit.TABLESPOON, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"CUP"); - assertEquals(Unit.CUP, recipeIngredient.getUnit()); - - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"PIECE"); - assertEquals(Unit.PIECE, recipeIngredient.getUnit()); + assertEquals(Unit.PIECE, piece.getUnit()); } @Test void getInformalUnitTest(){ - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"PINCH"); - assertEquals(Unit.PINCH, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"HANDFUL"); - assertEquals(Unit.HANDFUL, recipeIngredient.getUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"TO_TASTE"); - assertEquals(Unit.TO_TASTE, recipeIngredient.getUnit()); + assertEquals(Unit.PINCH, pinch.getUnit()); + assertEquals(Unit.HANDFUL, handful.getUnit()); + assertEquals(Unit.TO_TASTE, to_taste.getUnit()); } @Test void getUnknownUnitTest(){ - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"RANDOM"); - assertNull(recipeIngredient.getUnit()); + assertNull(invalid.getUnit()); } @Test - void convertToBaseUnit(){ - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"KILOGRAM"); - assertEquals(1000, recipeIngredient.amountInBaseUnit()); + void convertFormalToBaseUnit(){ + assertEquals(1000, kilogram.amountInBaseUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"PINCH"); - assertEquals(0,recipeIngredient.amountInBaseUnit()); + assertEquals(1,milliliter.amountInBaseUnit()); + assertEquals(1000.0,liter.amountInBaseUnit()); + assertEquals(15.0,tablespoon.amountInBaseUnit()); + assertEquals(5,teaspoon.amountInBaseUnit()); + assertEquals(240.0,cup.amountInBaseUnit()); - recipeIngredient = new RecipeIngredient(recipe,ingredient,1,"RANDOM"); - assertEquals(0,recipeIngredient.amountInBaseUnit()); + assertEquals(1.0,piece.amountInBaseUnit()); + } + + @Test + void convertInformalToBaseUnit(){ + assertEquals(0,pinch.amountInBaseUnit()); + assertEquals(0,handful.amountInBaseUnit()); + assertEquals(0,to_taste.amountInBaseUnit()); + } + + @Test + void convertUnknownToBaseUnit(){ + assertEquals(0,invalid.amountInBaseUnit()); } } From b553cee6fdb324ba3ee88e714b334656441291e4 Mon Sep 17 00:00:00 2001 From: Mei Chang van der Werff Date: Thu, 18 Dec 2025 04:27:04 +0100 Subject: [PATCH 5/5] fix checkstyle error --- commons/src/test/java/commons/RecipeIngredientTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/commons/src/test/java/commons/RecipeIngredientTest.java b/commons/src/test/java/commons/RecipeIngredientTest.java index 6a08b23..30eb676 100644 --- a/commons/src/test/java/commons/RecipeIngredientTest.java +++ b/commons/src/test/java/commons/RecipeIngredientTest.java @@ -18,7 +18,7 @@ public class RecipeIngredientTest { private RecipeIngredient piece; private RecipeIngredient pinch; private RecipeIngredient handful; - private RecipeIngredient to_taste; + private RecipeIngredient toTaste; private RecipeIngredient invalid; @BeforeEach @@ -36,7 +36,7 @@ public class RecipeIngredientTest { piece = new RecipeIngredient(recipe,ingredient,1,"PIECE"); pinch = new RecipeIngredient(recipe,ingredient,1,"PINCH"); handful = new RecipeIngredient(recipe,ingredient,1,"HANDFUL"); - to_taste = new RecipeIngredient(recipe,ingredient,1,"TO_TASTE"); + toTaste = new RecipeIngredient(recipe,ingredient,1,"TO_TASTE"); invalid = new RecipeIngredient(recipe,ingredient,1,"INVALID"); } @@ -59,7 +59,7 @@ public class RecipeIngredientTest { void getInformalUnitTest(){ assertEquals(Unit.PINCH, pinch.getUnit()); assertEquals(Unit.HANDFUL, handful.getUnit()); - assertEquals(Unit.TO_TASTE, to_taste.getUnit()); + assertEquals(Unit.TO_TASTE, toTaste.getUnit()); } @Test @@ -84,7 +84,7 @@ public class RecipeIngredientTest { void convertInformalToBaseUnit(){ assertEquals(0,pinch.amountInBaseUnit()); assertEquals(0,handful.amountInBaseUnit()); - assertEquals(0,to_taste.amountInBaseUnit()); + assertEquals(0, toTaste.amountInBaseUnit()); } @Test