@Test public void testGetDistrictsByCityCode() { final List<DistrictModel> districtModels = dummyDataDistrictList(); final DistrictModel districtModel = dummyDataDistrict(); when(districtService.getDistrictsByCityCode("TEST-CITY-CODE")).thenReturn(districtModels); doAnswer( new Answer<DistrictData>() { @Override public DistrictData answer(final InvocationOnMock invocation) throws Throwable { final Object[] args = invocation.getArguments(); if (args[1] instanceof DistrictData) { final DistrictData dd = (DistrictData) args[1]; dd.setName("TEST-DISTRICT-NAME-EN"); // assuming now emulating the value for // Locale.ENGLISH dd.setCode("TEST-DISTRICT-CODE"); } return null; } }) .when(this.districtPopulator) .populate( org.mockito.Matchers.any(DistrictModel.class), org.mockito.Matchers.any(DistrictData.class)); final List<DistrictData> dto = districtFacade.getDistrictsByCityCode("TEST-CITY-CODE"); assertNotNull(dto); assertEquals(dto.size(), districtModels.size()); assertEquals(dto.get(0).getName(), districtModel.getName(Locale.ENGLISH)); assertEquals(dto.get(0).getCode(), districtModel.getCode()); }