/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.test.enums; import java.util.Properties; import org.hibernate.internal.util.SerializationHelper; import org.hibernate.type.EnumType; import org.hibernate.usertype.DynamicParameterizedType; import org.junit.Test; import org.hibernate.testing.junit4.BaseUnitTestCase; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** * @author Steve Ebersole */ public class TestEnumTypeSerialization extends BaseUnitTestCase { @Test public void testSerializability() { { // test ordinal mapping EnumType enumType = new EnumType(); Properties properties = new Properties(); properties.put( EnumType.ENUM, UnspecifiedEnumTypeEntity.E1.class.getName() ); enumType.setParameterValues( properties ); assertTrue( enumType.isOrdinal() ); SerializationHelper.clone( enumType ); } { // test named mapping EnumType enumType = new EnumType(); Properties properties = new Properties(); properties.put( EnumType.ENUM, UnspecifiedEnumTypeEntity.E1.class.getName() ); properties.put( EnumType.NAMED, "true" ); enumType.setParameterValues( properties ); assertFalse( enumType.isOrdinal() ); SerializationHelper.clone( enumType ); } } }