### Question:
ImmutableStew { public void mix() { LOGGER .info("Mixing the immutable stew we find: {} potatoes, {} carrots, {} meat and {} peppers", data.getNumPotatoes(), data.getNumCarrots(), data.getNumMeat(), data.getNumPeppers()); } ImmutableStew(int numPotatoes, int numCarrots, int numMeat, int numPeppers); void mix();  }### Answer:
@Test public void testMix() { var stew = new Stew(1, 2, 3, 4); var expectedMessage = "Mixing the stew we find: 1 potatoes, 2 carrots, 3 meat and 4 peppers"; for (var i = 0; i < 20; i++) { stew.mix(); assertEquals(expectedMessage, appender.getLastMessage()); } assertEquals(20, appender.getLogSize()); }
@Test public void testDrink() { final var stew = new Stew(1, 2, 3, 4); stew.mix(); assertEquals("Mixing the stew we find: 1 potatoes, 2 carrots, 3 meat and 4 peppers", appender .getLastMessage()); stew.taste(); assertEquals("Tasting the stew", appender.getLastMessage()); stew.mix(); assertEquals("Mixing the stew we find: 0 potatoes, 1 carrots, 2 meat and 3 peppers", appender .getLastMessage()); }