### Question:
TransformerPair implements Transformer<I, O> { @Override public O transform(I input) throws TransformationException { return secondTransformer.transform(firstTransformer.transform(input)); } TransformerPair(final Transformer<I, T> firstTransformer,
            final Transformer<T, O> secondTransformer); @Override O transform(I input);  }### Answer:
@Test public void testTransform() throws Exception { final A a = new A(); final B b = new B(); final C c = new C(); final TransformerPair<A, B, C> transformer = new TransformerPair<A, B, C>(mockFirstTransformer, mockSecondTransformer); expect(mockFirstTransformer.transform(same(a))).andReturn(b); expect(mockSecondTransformer.transform(same(b))).andReturn(c); EasyMockUnitils.replay(); final C result = transformer.transform(a); assertNotNull("Unexpected null result.", result); assertSame("Unexpected result.", c, result); }