Moo { public <T> Translate<T> translate( Class<T> destinationClass ) { return new Translate<T>( translatorFactory, destinationClass ); } Moo();  Moo( Configuration configuration ); Translate<T> translate( Class<T> destinationClass ); T translate( Object source, Class<T> destinationClass ); List<T> translateEach( List<?> sources, Class<T> destinationClass ); Collection<T> translateEach( Collection<?> sources, Class<T> destinationClass ); Set<T> translateEach( Set<?> sources, Class<T> destinationClass ); void update( Object source, Object destination ); Update update( Object source );  }
@Test public void testMooTranslateCanCreateCurriedTranslate() { Assert.assertNotNull(moo.translate(String.class)); }
@Test public void testMooTranslateTranslatesInNewSession() { moo.translate(source, String.class); Mockito.verify(session).getTranslation(source, String.class); }