package io.ebeaninternal.server.type; import io.ebeaninternal.server.type.ScalarTypeEnumStandard.OrdinalEnum; import io.ebeaninternal.server.type.ScalarTypeEnumStandard.StringEnum; import org.tests.model.basic.Customer; import org.tests.model.basic.Order; import org.junit.Assert; import org.junit.Test; public class TestEnumToBeanType { @Test public void test() { StringEnum stringEnum = new ScalarTypeEnumStandard.StringEnum(Order.Status.class); OrdinalEnum ordinalEnum = new ScalarTypeEnumStandard.OrdinalEnum(Order.Status.class); EnumToDbValueMap<?> beanDbMap = EnumToDbValueMap.create(false); beanDbMap.add(Customer.Status.ACTIVE, "A", Customer.Status.ACTIVE.name()); beanDbMap.add(Customer.Status.NEW, "N", Customer.Status.NEW.name()); beanDbMap.add(Customer.Status.INACTIVE, "I", Customer.Status.INACTIVE.name()); ScalarTypeEnumWithMapping withMapping = new ScalarTypeEnumWithMapping(beanDbMap, Customer.Status.class, 1); Object approved = stringEnum.toBeanType(Order.Status.APPROVED); Assert.assertTrue(approved == Order.Status.APPROVED); approved = ordinalEnum.toBeanType(Order.Status.APPROVED); Assert.assertTrue(approved == Order.Status.APPROVED); Object active = withMapping.toBeanType(Customer.Status.ACTIVE); Assert.assertTrue(active == Customer.Status.ACTIVE); } }