/* * Copyright 2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License") * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sf.beanlib.utils; import junit.framework.TestCase; /** * @author Joe D. Velopar */ public class EnumUtilsTest extends TestCase { public void test_StringEnum_ValidValues_External() { StringEnum[] values = StringEnum.values(); for (StringEnum se : values) { String externalized = se.externalize(); System.out.println("name()=" + se.name() + ", toExternal()=" + externalized); StringEnum e = EnumUtils.fromExternal(StringEnum.class, externalized); assertTrue(se == e); } } public void test_StringEnum_ValidValues_String() { StringEnum[] values = StringEnum.values(); for (StringEnum se : values) { String s = se.toString(); System.out.println("name()=" + se.name() + ", toString()=" + s); StringEnum e = EnumUtils.fromString(StringEnum.class, s); assertTrue(se == e); } } public void test_StringEnum_ValidValues_Ordinal() { StringEnum[] values = StringEnum.values(); for (StringEnum se : values) { int ordinal = se.ordinal(); System.out.println("name()=" + se.name() + ", ordinal()=" + ordinal); StringEnum e = EnumUtils.fromOrdinal(StringEnum.class, ordinal); assertTrue(se == e); } } public void test_StringEnum_InvalidValue_External() { assertNull(EnumUtils.fromExternal(StringEnum.class, "")); assertNull(EnumUtils.fromExternal(StringEnum.class, "xxx")); } public void test_StringEnum_InvalidValue_String() { assertNull(EnumUtils.fromString(StringEnum.class, "")); assertNull(EnumUtils.fromString(StringEnum.class, "xxx")); } public void test_StringEnum_InvalidValue_Ordinal() { assertNull(EnumUtils.fromOrdinal(StringEnum.class, -1)); assertNull(EnumUtils.fromOrdinal(StringEnum.class, 99)); } public void test_IntegerEnum_ValidValues_External() { IntegerEnum[] values = IntegerEnum.values(); for (IntegerEnum se : values) { Integer externalized = se.externalize(); System.out.println("name()=" + se.name() + ", toExterna()=" + externalized); IntegerEnum e = EnumUtils.fromExternal(IntegerEnum.class, externalized); assertTrue(se == e); } } public void test_IntegerEnum_ValidValues_String() { IntegerEnum[] values = IntegerEnum.values(); for (IntegerEnum se : values) { String s = se.toString(); System.out.println("name()=" + se.name() + ", toString()=" + s); IntegerEnum e = EnumUtils.fromString(IntegerEnum.class, s); assertTrue(se == e); } } public void test_IntegerEnum_ValidValues_Ordinal() { IntegerEnum[] values = IntegerEnum.values(); for (IntegerEnum se : values) { int ordinal = se.ordinal(); System.out.println("name()=" + se.name() + ", ordinal()=" + ordinal); IntegerEnum e = EnumUtils.fromOrdinal(IntegerEnum.class, ordinal); assertTrue(se == e); } } public void test_IntegerEnum_InvalidValue_External() { assertNull(EnumUtils.fromExternal(IntegerEnum.class, 777)); assertNull(EnumUtils.fromExternal(IntegerEnum.class, 123)); assertNull(EnumUtils.fromExternal(IntegerEnum.class, null)); } public void test_IntegerEnum_InvalidValue_String() { assertNull(EnumUtils.fromString(IntegerEnum.class, "777")); assertNull(EnumUtils.fromString(IntegerEnum.class, "123")); assertNull(EnumUtils.fromString(IntegerEnum.class, null)); } public void test_IntegerEnum_InvalidValue_Ordinal() { assertNull(EnumUtils.fromOrdinal(IntegerEnum.class, 777)); assertNull(EnumUtils.fromOrdinal(IntegerEnum.class, 123)); assertNull(EnumUtils.fromOrdinal(IntegerEnum.class, -1)); } }