ContextMapperCallbackHandlerWithControls extends ContextMapperCallbackHandler { public Object getObjectFromNameClassPair(final NameClassPair nameClassPair) { if (!(nameClassPair instanceof Binding)) { throw new IllegalArgumentException("Parameter must be an instance of Binding"); } Binding binding = (Binding) nameClassPair; Object object = binding.getObject(); if (object == null) { throw new ObjectRetrievalException("Binding did not contain any object."); } Object result = null; if (nameClassPair instanceof HasControls) { result = mapper.mapFromContextWithControls(object, (HasControls) nameClassPair); } else { result = mapper.mapFromContext(object); } return result; } ContextMapperCallbackHandlerWithControls(final ParameterizedContextMapperWithControls<?> mapper); Object getObjectFromNameClassPair(final NameClassPair nameClassPair);  }
@Test public void testGetObjectFromNameClassPair() { Object expectedObject = "object"; Object expectedResult = "result"; Binding expectedBinding = new Binding("some name", expectedObject); expect(mapperMock.mapFromContext(expectedObject)).andReturn(expectedResult); replay(mapperMock); Object actualResult = tested.getObjectFromNameClassPair(expectedBinding); verify(mapperMock); assertThat(actualResult).isEqualTo(expectedResult); }
@Test public void testGetObjectFromNameClassPairImplementingHasControls() { Object expectedObject = "object"; Object expectedResult = "result"; MyBindingThatHasControls expectedBinding = new MyBindingThatHasControls("some name", expectedObject); expect(mapperMock.mapFromContextWithControls(expectedObject, expectedBinding)).andReturn(expectedResult); replay(mapperMock); Object actualResult = tested.getObjectFromNameClassPair(expectedBinding); verify(mapperMock); assertThat(actualResult).isEqualTo(expectedResult); }
@Test(expected = ObjectRetrievalException.class) public void testGetObjectFromNameClassPairObjectRetrievalException() { Binding expectedBinding = new Binding("some name", null); replay(mapperMock); tested.getObjectFromNameClassPair(expectedBinding); verify(mapperMock); }