public static Dish createDish(Recipe recipe) {
        Map<Product, BigDecimal> calculatedRecipeToGram = new HashMap<>();
        recipe.getIngredientsProportion().forEach(((product, proportion) -> {
            calculatedRecipeToGram.put(product, recipe.getBasePortionInGrams()
                    .multiply(proportion.divide(BigDecimal.valueOf(100), 2, RoundingMode.FLOOR)));
        }));
        return new Dish(calculatedRecipeToGram, recipe);
    }
@Test
    void calculateNutrients_positiveValue() {
        Dish dish = Dish.createDish(recipe, BigDecimal.valueOf(1300));

        assertAll("Should double the values",
                () -> assertEquals(new BigDecimal("1300"), dish.getNutrients().getCalories().getTotalCalories()),
                () -> assertEquals(new BigDecimal("40"), dish.getNutrients().getCarbohydrates().getTotalCarbohydrates()),
                () -> assertEquals(new BigDecimal("60"), dish.getNutrients().getProteins().getTotalProteins()),
                () -> assertEquals(new BigDecimal("100"), dish.getNutrients().getFats().getTotalFats()));
    }