this.applicationContext.getBean("annSimpleTransferableService", TestService.class);
assertCountersAreZero();
final Date time = new Date();
final DomainObject entity1 = new DomainObjectImpl();
entity1.setValue("entity1Val1");
entity1.setValue2("entity1Val2");
entity1.setTimestamp(time);
final DomainObject entity2 = new DomainObjectImpl();
entity2.setValue("entity2Val1");
entity2.setValue2("entity2Val2");
entity2.setTimestamp(time);
final List<ExtendedDataTransferObject> dtos = new ArrayList<ExtendedDataTransferObject>();
final List<DomainObject> entities = Arrays.asList(entity1, entity2);
service.entitiesToDtosBefore(dtos, entities, new Object());
assertEquals(entities.size(), 2);
final ExtendedDataTransferObject dto1 = dtos.get(0);
assertEquals(dto1.getValue(), "entity1Val1");
assertEquals(dto1.getValue2(), "entity1Val2");
assertEquals(dto1.getTimestamp(), time);
final ExtendedDataTransferObject dto2 = dtos.get(1);
assertEquals(dto2.getValue(), "entity2Val1");
assertEquals(dto2.getValue2(), "entity2Val2");
assertEquals(dto2.getTimestamp(), time);
assertEquals(entity1.getValue(), "entity1Val1");
assertEquals(entity1.getValue2(), "entity1Val2");
assertEquals(entity1.getTimestamp(), time);
assertEquals(entity2.getValue(), "entity2Val1");
assertEquals(entity2.getValue2(), "entity2Val2");
assertEquals(entity2.getTimestamp(), time);
// final check counters
assertCounters(2, 2, 0, 0, 0, 0);
}