### Question:
CompositeInstrumenter implements Instrumenter { @Override public boolean instrument(Test test, Recorder recorder, Object target) throws NonInstrumentableTypeException { return instrument(test, recorder, target, ALL_INSTRUMENTATION); } CompositeInstrumenter(Instrumenter... instrumenters);  CompositeInstrumenter(List<Instrumenter> instrumenters); @Override Object createInstrumentedProxy(Test test,
                                                  Recorder recorder,
                                                  Object target); @Override boolean instrument(Test test,
                                      Recorder recorder,
                                      Object target); @Override boolean instrument(Test test,
                                      Recorder recorder,
                                      Object target,
                                      InstrumentationFilter filter); @Override String getDescription();  }### Answer:
@Test public void testInstrument() throws Exception { when(m_instrumenter2.instrument(m_test, m_recorder, m_target)) .thenReturn(true); final Instrumenter instrumenter = new CompositeInstrumenter(asList(m_instrumenter1, m_instrumenter2)); instrumenter.instrument(m_test, m_recorder, m_target); final InOrder inOrder = inOrder(m_instrumenter1, m_instrumenter2); inOrder.verify(m_instrumenter1) .instrument(m_test, m_recorder, m_target, Instrumenter.ALL_INSTRUMENTATION); inOrder.verify(m_instrumenter2) .instrument(m_test, m_recorder, m_target, Instrumenter.ALL_INSTRUMENTATION); verifyNoMoreInteractions(m_instrumenter1, m_instrumenter2); }
@Test public void testInstrumentWithNull() throws Exception { final Instrumenter instrumenter = new CompositeInstrumenter(asList(m_instrumenter1, m_instrumenter2)); final boolean result = instrumenter.instrument(m_test, m_recorder, null, m_filter); assertFalse(result); }
@Test public void testCreateInstrumentedFailure() throws Exception { final Instrumenter instrumenter = new CompositeInstrumenter(asList(m_instrumenter1, m_instrumenter2)); final boolean result = instrumenter.instrument(m_test, m_recorder, null, m_filter); assertFalse(result); }