@Test
public void testBake_callsDispatcherPerDomain_nestedRecipe() {

  Dispatcher spyA = setupDispatcherSpy("A");
  Dispatcher spyB = setupDispatcherSpy("B");
  Dispatcher spyC = setupDispatcherSpy("C");
  Ingredient ingredient1 = new Ingredient("TestIngredient1", "A") {};
  Ingredient ingredient2 = new Ingredient("TestIngredient2", "B") {};
  Ingredient ingredient3 = new Ingredient("TestIngredient3", "C") {};
  oven.bake(Recipe.prepare(ingredient1, Recipe.prepare(ingredient2, ingredient3)));
  verify(spyA, times(1)).dispatch(anyString());
  verify(spyB, times(1)).dispatch(anyString());
  verify(spyC, times(1)).dispatch(anyString());
}