@Test
    public void testInheritance_UnevenHierarchies() {
        mapper = getMapper("mappings/inheritanceMapping.xml");

        Long id = new Long(100L);
        String name = "John";
        String address = "123 Main Street";

        final Person person = new PersonImpl(id, name);
        person.setAddress(address);

        PersonWithAddressDTO personWithAddressDTO = mapper.map(newInstance(new Class[] {Person.class}, person),
                                                               PersonWithAddressDTO.class);

        assertEquals("Person DTO has incorrect personId value", id, personWithAddressDTO.getPersonId());
        assertNotNull("name should not be null", personWithAddressDTO.getName());
        assertEquals("Person DTO has incorrect name value", name, personWithAddressDTO.getName());
        assertNotNull("addresss should not be null", personWithAddressDTO.getAddress());
        assertEquals("Person DTO has incorrect address value", address, personWithAddressDTO.getAddress());
    }
Bug #1828693 -- Problem when using with proxies based on interfaces.
core/src/test/java/com/github/dozermapper/core/functional_tests/InheritanceMappingTest.java