@Test public void determinePropertyName() throws NoSuchMethodException { BookDO obj = createBookDO(21, 22, false, BookStatus.DISPOSED, "Hurzel"); final String created = DateHelper.getForTestCase(obj.getCreated()); final String lastUpdate = DateHelper.getForTestCase(obj.getLastUpdate()); BookDO src = createBookDO(19, 20, true, BookStatus.MISSED, "Test"); obj.copyValuesFrom(src); assertEquals("Test", obj.getTitle()); assertEquals(true, obj.isDeleted()); assertEquals(BookStatus.MISSED, obj.getStatus()); assertEquals(created, DateHelper.getForTestCase(obj.getCreated())); assertEquals(lastUpdate, DateHelper.getForTestCase(obj.getLastUpdate())); obj = createBookDO(21, 22, false, BookStatus.MISSED, "Hurzel"); src = createBookDO(19, 20, false, BookStatus.MISSED, null); obj.copyValuesFrom(src); assertEquals("Expected, that the property will be overwritten by null", null, obj.getTitle()); assertEquals(false, obj.isDeleted()); assertEquals(BookStatus.MISSED, obj.getStatus()); assertEquals(created, DateHelper.getForTestCase(obj.getCreated())); assertEquals(lastUpdate, DateHelper.getForTestCase(obj.getLastUpdate())); }