@Test
    public void canEnumMapsToLong() {
        MyBean src = new MyBean();
        src.setSrcType(SrcType.FOO);
        src.setSrcTypeWithOverride(SrcTypeWithOverride.BAR);

        MyBeanPrimeLong dest = enumMapping.map(src, MyBeanPrimeLong.class);

        assertEquals(0, dest.getFirst());
        assertEquals(Long.valueOf(1L), dest.getSecond());
    }
Functional test for enum mapping as described
<a href=https://github.com/DozerMapper/dozer/blob/master/docs/asciidoc/documentation/enum.adoc>here</a>.
<p>
In this functional test, Enum is categorized into two types: Based Enum and Overridden Enum.
Based Enum refers to those enum without any overridden methods, including constructors.  A
typical Based Enum would look as below.
<code>
public enum SrcType {
FOO , BAR;
}
</code>
On the contrary, Overridden Enum refers to those enum with overridden methods, including
constructors. A typical Overridden Enum would look as below.
<code>
public enum SrcTypeWithOverride {
FOO { public String display() { return "Src.FOO"; } },
BAR { public String display() { return "Src.BAR"; } };
public abstract String display();
}
</code>
core/src/test/java/com/github/dozermapper/core/functional_tests/EnumMappingTest.java