### Question:
EnumType implements ExtendedType<T> { @Override public String getClassName() { return canonicalName; } EnumType(Class<T> enumClass); @Override String getClassName(); @Override void setJdbcObject(
            PreparedStatement statement,
            T value,
            int pos,
            int type,
            int precision); @Override T materializeObject(ResultSet rs, int index, int type); @Override T materializeObject(CallableStatement rs, int index, int type); @Override String toString(T value);  }### Answer:
@Test public void testConstructor() throws Exception { EnumType type = new EnumType(MockEnum.class); assertEquals(MockEnum.class.getName(), type.getClassName()); assertEquals(MockEnum.values().length, type.values.length); for(int i = 0; i < MockEnum.values().length; i++) { assertSame(MockEnum.values()[i], type.values[i]); } }