private final Recipe recipe = mock(Recipe.class);
private final Meal meal = new Meal(recipe);
@Test
public void shouldBeDoneWhenAllIngredientsAreCooked() throws Exception {
Product soleProduct = mock(Product.class);
given(recipe.isSatisfiedBy(Arrays.asList(soleProduct))).willReturn(true);
meal.cook(soleProduct);
assertThat(meal.isDone(), is(true));