public Nutrients calculateNutrients(BigDecimal grams) {
        if (grams == null || grams.doubleValue() <= 0) {
            return Nutrients.createEmptyNutrients();
        }
        return new Nutrients(calculateCalories(grams),
                calculateCarbohydrates(grams),
                calculateProteins(grams),
                calculateFats(grams));
    }
@Test
    void calculateNutrients_zeroValue() {
        Nutrients result = product.calculateNutrients(BigDecimal.valueOf(0));
        assertAll("Should return empty nutrients",
                () -> assertEquals(new BigDecimal("0"), result.getCalories().getTotalCalories()),
                () -> assertEquals(new BigDecimal("0"), result.getCarbohydrates().getTotalCarbohydrates()),
                () -> assertEquals(new BigDecimal("0"), result.getProteins().getTotalProteins()),
                () -> assertEquals(new BigDecimal("0"), result.getFats().getTotalFats()));
    }