diff --git a/src/test/java/org/tests/embedded/TestEmbeddedEmpty.java b/src/test/java/org/tests/embedded/TestEmbeddedEmpty.java index a8c503d9a..7af595977 100644 --- a/src/test/java/org/tests/embedded/TestEmbeddedEmpty.java +++ b/src/test/java/org/tests/embedded/TestEmbeddedEmpty.java @@ -3,6 +3,7 @@ package org.tests.embedded; import io.ebean.Ebean; import org.junit.Test; import org.tests.model.embedded.EAddress; +import org.tests.model.embedded.EAddressStatus; import org.tests.model.embedded.EPerson; public class TestEmbeddedEmpty { @@ -21,4 +22,15 @@ public class TestEmbeddedEmpty { // treat all embedded properties as loaded person.getAddress().getCity(); } + + @Test + public void testAbstractEnumBinding() { + + EAddressStatus.TWO.doIt(); + + Ebean.find(EPerson.class) + .where().eq("address.status", EAddressStatus.TWO) + .findList(); + + } } diff --git a/src/test/java/org/tests/model/embedded/EAddressStatus.java b/src/test/java/org/tests/model/embedded/EAddressStatus.java index 00d18f7c9..fb4eb0119 100644 --- a/src/test/java/org/tests/model/embedded/EAddressStatus.java +++ b/src/test/java/org/tests/model/embedded/EAddressStatus.java @@ -1,6 +1,24 @@ package org.tests.model.embedded; public enum EAddressStatus { - ONE, - TWO + + ONE("One") { + @Override + public String doIt() { + return 10 + name; + } + }, + TWO("Two") { + @Override + public String doIt() { + return 20 + name; + } + }; + + String name; + + EAddressStatus(String name) { + this.name = name; + } + public abstract String doIt(); }