diff --git a/src/test/org/apache/commons/lang/enum/Broken1Enum.java b/src/test/org/apache/commons/lang/enum/Broken1Enum.java deleted file mode 100644 index 21203f0f8..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken1Enum.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken color enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public final class Broken1Enum extends Enum { - public static final Broken1Enum RED = new Broken1Enum("Red"); - public static final Broken1Enum GREEN = new Broken1Enum("Green"); - public static final Broken1Enum GREENISH = new Broken1Enum("Green"); // duplicate not allowed - - private Broken1Enum(String color) { - super(color); - } - - public static Broken1Enum getEnum(String color) { - return (Broken1Enum) getEnum(Broken1Enum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(Broken1Enum.class); - } - - public static List getEnumList() { - return getEnumList(Broken1Enum.class); - } - - public static Iterator iterator() { - return iterator(Broken1Enum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken1OperationEnum.java b/src/test/org/apache/commons/lang/enum/Broken1OperationEnum.java deleted file mode 100644 index 58c66f992..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken1OperationEnum.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken Operator enumeration, null class. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class Broken1OperationEnum extends Enum { - // This syntax works for JDK 1.3 and upwards: -// public static final OperationEnum PLUS = new OperationEnum("Plus") { -// public int eval(int a, int b) { -// return (a + b); -// } -// }; -// public static final OperationEnum MINUS = new OperationEnum("Minus") { -// public int eval(int a, int b) { -// return (a - b); -// } -// }; - // This syntax works for JDK 1.2 and upwards: - public static final Broken1OperationEnum PLUS = new PlusOperation(); - private static class PlusOperation extends Broken1OperationEnum { - private PlusOperation() { - super("Plus"); - } - public int eval(int a, int b) { - return (a + b); - } - } - public static final Broken1OperationEnum MINUS = new MinusOperation(); - private static class MinusOperation extends Broken1OperationEnum { - private MinusOperation() { - super("Minus"); - } - public int eval(int a, int b) { - return (a - b); - } - } - - private Broken1OperationEnum(String name) { - super(name); - } - - public final Class getEnumClass() { - return null; - } - - public abstract int eval(int a, int b); - - public static Broken1OperationEnum getEnum(String name) { - return (Broken1OperationEnum) getEnum(Broken1OperationEnum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Broken1OperationEnum.class); - } - - public static List getEnumList() { - return getEnumList(Broken1OperationEnum.class); - } - - public static Iterator iterator() { - return iterator(Broken1OperationEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken2Enum.java b/src/test/org/apache/commons/lang/enum/Broken2Enum.java deleted file mode 100644 index 246659f29..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken2Enum.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken color enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public final class Broken2Enum extends Enum { - public static final Broken2Enum RED = new Broken2Enum("Red"); - public static final Broken2Enum GREEN = new Broken2Enum("Green"); - public static final Broken2Enum BLUE = new Broken2Enum(""); // blank not allowed - - private Broken2Enum(String color) { - super(color); - } - - public static Broken2Enum getEnum(String color) { - return (Broken2Enum) getEnum(Broken2Enum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(Broken2Enum.class); - } - - public static List getEnumList() { - return getEnumList(Broken2Enum.class); - } - - public static Iterator iterator() { - return iterator(Broken2Enum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken2OperationEnum.java b/src/test/org/apache/commons/lang/enum/Broken2OperationEnum.java deleted file mode 100644 index d2eb51764..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken2OperationEnum.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken Operator enumeration, getEnumClass() not superclass. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class Broken2OperationEnum extends Enum { - // This syntax works for JDK 1.3 and upwards: -// public static final OperationEnum PLUS = new OperationEnum("Plus") { -// public int eval(int a, int b) { -// return (a + b); -// } -// }; -// public static final OperationEnum MINUS = new OperationEnum("Minus") { -// public int eval(int a, int b) { -// return (a - b); -// } -// }; - // This syntax works for JDK 1.2 and upwards: - public static final Broken2OperationEnum PLUS = new PlusOperation(); - private static class PlusOperation extends Broken2OperationEnum { - private PlusOperation() { - super("Plus"); - } - public int eval(int a, int b) { - return (a + b); - } - } - public static final Broken2OperationEnum MINUS = new MinusOperation(); - private static class MinusOperation extends Broken2OperationEnum { - private MinusOperation() { - super("Minus"); - } - public int eval(int a, int b) { - return (a - b); - } - } - - private Broken2OperationEnum(String name) { - super(name); - } - - public final Class getEnumClass() { - return ColorEnum.class; - } - - public abstract int eval(int a, int b); - - public static Broken2OperationEnum getEnum(String name) { - return (Broken2OperationEnum) getEnum(Broken2OperationEnum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Broken2OperationEnum.class); - } - - public static List getEnumList() { - return getEnumList(Broken2OperationEnum.class); - } - - public static Iterator iterator() { - return iterator(Broken2OperationEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken3Enum.java b/src/test/org/apache/commons/lang/enum/Broken3Enum.java deleted file mode 100644 index 84e97378b..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken3Enum.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken color enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public final class Broken3Enum extends Enum { - public static final Broken3Enum RED = new Broken3Enum("Red"); - public static final Broken3Enum GREEN = new Broken3Enum("Green"); - public static final Broken3Enum BLUE = new Broken3Enum(null); // null not allowed - - private Broken3Enum(String color) { - super(color); - } - - public static Broken3Enum getEnum(String color) { - return (Broken3Enum) getEnum(Broken3Enum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(Broken3Enum.class); - } - - public static List getEnumList() { - return getEnumList(Broken3Enum.class); - } - - public static Iterator iterator() { - return iterator(Broken3Enum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken3OperationEnum.java b/src/test/org/apache/commons/lang/enum/Broken3OperationEnum.java deleted file mode 100644 index b577abd55..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken3OperationEnum.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken Operator enumeration, getEnumClass() is Enum.class. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class Broken3OperationEnum extends Enum { - // This syntax works for JDK 1.3 and upwards: -// public static final OperationEnum PLUS = new OperationEnum("Plus") { -// public int eval(int a, int b) { -// return (a + b); -// } -// }; -// public static final OperationEnum MINUS = new OperationEnum("Minus") { -// public int eval(int a, int b) { -// return (a - b); -// } -// }; - // This syntax works for JDK 1.2 and upwards: - public static final Broken3OperationEnum PLUS = new PlusOperation(); - private static class PlusOperation extends Broken3OperationEnum { - private PlusOperation() { - super("Plus"); - } - public int eval(int a, int b) { - return (a + b); - } - } - public static final Broken3OperationEnum MINUS = new MinusOperation(); - private static class MinusOperation extends Broken3OperationEnum { - private MinusOperation() { - super("Minus"); - } - public int eval(int a, int b) { - return (a - b); - } - } - - private Broken3OperationEnum(String name) { - super(name); - } - - public final Class getEnumClass() { - return Enum.class; - } - - public abstract int eval(int a, int b); - - public static Broken3OperationEnum getEnum(String name) { - return (Broken3OperationEnum) getEnum(Broken3OperationEnum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Broken3OperationEnum.class); - } - - public static List getEnumList() { - return getEnumList(Broken3OperationEnum.class); - } - - public static Iterator iterator() { - return iterator(Broken3OperationEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken4OperationEnum.java b/src/test/org/apache/commons/lang/enum/Broken4OperationEnum.java deleted file mode 100644 index 9d6220968..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken4OperationEnum.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken Operator enumeration, getEnumClass() is ValuedEnum.class. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class Broken4OperationEnum extends Enum { - // This syntax works for JDK 1.3 and upwards: -// public static final OperationEnum PLUS = new OperationEnum("Plus") { -// public int eval(int a, int b) { -// return (a + b); -// } -// }; -// public static final OperationEnum MINUS = new OperationEnum("Minus") { -// public int eval(int a, int b) { -// return (a - b); -// } -// }; - // This syntax works for JDK 1.2 and upwards: - public static final Broken4OperationEnum PLUS = new PlusOperation(); - private static class PlusOperation extends Broken4OperationEnum { - private PlusOperation() { - super("Plus"); - } - public int eval(int a, int b) { - return (a + b); - } - } - public static final Broken4OperationEnum MINUS = new MinusOperation(); - private static class MinusOperation extends Broken4OperationEnum { - private MinusOperation() { - super("Minus"); - } - public int eval(int a, int b) { - return (a - b); - } - } - - private Broken4OperationEnum(String name) { - super(name); - } - - public final Class getEnumClass() { - return ValuedEnum.class; - } - - public abstract int eval(int a, int b); - - public static Broken4OperationEnum getEnum(String name) { - return (Broken4OperationEnum) getEnum(Broken4OperationEnum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Broken4OperationEnum.class); - } - - public static List getEnumList() { - return getEnumList(Broken4OperationEnum.class); - } - - public static Iterator iterator() { - return iterator(Broken4OperationEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/Broken5OperationEnum.java b/src/test/org/apache/commons/lang/enum/Broken5OperationEnum.java deleted file mode 100644 index 7f7f698cd..000000000 --- a/src/test/org/apache/commons/lang/enum/Broken5OperationEnum.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Broken Operator enumeration, getEnumClass() is not an Enum class. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class Broken5OperationEnum extends Enum { - // This syntax works for JDK 1.3 and upwards: -// public static final OperationEnum PLUS = new OperationEnum("Plus") { -// public int eval(int a, int b) { -// return (a + b); -// } -// }; -// public static final OperationEnum MINUS = new OperationEnum("Minus") { -// public int eval(int a, int b) { -// return (a - b); -// } -// }; - // This syntax works for JDK 1.2 and upwards: - public static final Broken5OperationEnum PLUS = new PlusOperation(); - private static class PlusOperation extends Broken5OperationEnum { - private PlusOperation() { - super("Plus"); - } - public int eval(int a, int b) { - return (a + b); - } - } - public static final Broken5OperationEnum MINUS = new MinusOperation(); - private static class MinusOperation extends Broken5OperationEnum { - private MinusOperation() { - super("Minus"); - } - public int eval(int a, int b) { - return (a - b); - } - } - - private Broken5OperationEnum(String name) { - super(name); - } - - public final Class getEnumClass() { - return String.class; - } - - public abstract int eval(int a, int b); - - public static Broken5OperationEnum getEnum(String name) { - return (Broken5OperationEnum) getEnum(Broken5OperationEnum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Broken5OperationEnum.class); - } - - public static List getEnumList() { - return getEnumList(Broken5OperationEnum.class); - } - - public static Iterator iterator() { - return iterator(Broken5OperationEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/ColorEnum.java b/src/test/org/apache/commons/lang/enum/ColorEnum.java deleted file mode 100644 index 0107ea9a1..000000000 --- a/src/test/org/apache/commons/lang/enum/ColorEnum.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Color enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class ColorEnum extends Enum { - public static final ColorEnum RED = new ColorEnum("Red"); - public static final ColorEnum GREEN = new ColorEnum("Green"); - public static final ColorEnum BLUE = new ColorEnum("Blue"); - - private ColorEnum(String color) { - super(color); - } - - public static ColorEnum getEnum(String color) { - return (ColorEnum) getEnum(ColorEnum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(ColorEnum.class); - } - - public static List getEnumList() { - return getEnumList(ColorEnum.class); - } - - public static Iterator iterator() { - return iterator(ColorEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/DummyEnum.java b/src/test/org/apache/commons/lang/enum/DummyEnum.java deleted file mode 100644 index cc144025f..000000000 --- a/src/test/org/apache/commons/lang/enum/DummyEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -/** - * Dummy enumeration - no values. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class DummyEnum extends Enum { - - private DummyEnum(String name) { - super(name); - } - -} diff --git a/src/test/org/apache/commons/lang/enum/EnumTest.java b/src/test/org/apache/commons/lang/enum/EnumTest.java deleted file mode 100644 index 823b5d088..000000000 --- a/src/test/org/apache/commons/lang/enum/EnumTest.java +++ /dev/null @@ -1,554 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import junit.framework.AssertionFailedError; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.apache.commons.lang.SerializationUtils; - -/** - * Test cases for the {@link Enum} class. - * - * @author Stephen Colebourne - * @author Gary D. Gregory - * @version $Id$ - */ - -public final class EnumTest extends TestCase { - - private static final String ENUM_CLASS_NAME = "org.apache.commons.lang.enum.ColorEnum"; - - public EnumTest(String name) { - super(name); - } - - public void setUp() { - } - - public static Test suite() { - TestSuite suite = new TestSuite(EnumTest.class); - suite.setName("Enum Tests"); - return suite; - } - - public void testName() { - assertEquals("Red", ColorEnum.RED.getName()); - assertEquals("Green", ColorEnum.GREEN.getName()); - assertEquals("Blue", ColorEnum.BLUE.getName()); - } - - public void testCompareTo() { - assertTrue(ColorEnum.BLUE.compareTo(ColorEnum.BLUE) == 0); - assertTrue(ColorEnum.RED.compareTo(ColorEnum.BLUE) > 0); - assertTrue(ColorEnum.BLUE.compareTo(ColorEnum.RED) < 0); - try { - ColorEnum.RED.compareTo(null); - fail(); - } catch (NullPointerException ex) { - } - try { - ColorEnum.RED.compareTo(new Object()); - fail(); - } catch (ClassCastException ex) { - } - } - - public void testEquals() { - assertSame(ColorEnum.RED, ColorEnum.RED); - assertSame(ColorEnum.getEnum("Red"), ColorEnum.RED); - assertEquals(false, ColorEnum.RED.equals(null)); - assertEquals(true, ColorEnum.RED.equals(ColorEnum.RED)); - assertEquals(true, ColorEnum.RED.equals(ColorEnum.getEnum("Red"))); - } - - public void testHashCode() { - assertEquals(ColorEnum.RED.hashCode(), ColorEnum.RED.hashCode()); - assertEquals(7 + ColorEnum.class.hashCode() + 3 * "Red".hashCode(), ColorEnum.RED.hashCode()); - } - - public void testToString() { - String toString = ColorEnum.RED.toString(); - assertEquals("ColorEnum[Red]", toString); - assertSame(toString, ColorEnum.RED.toString()); - } - - public void testIterator() { - Iterator it = ColorEnum.iterator(); - assertSame(ColorEnum.RED, it.next()); - assertSame(ColorEnum.GREEN, it.next()); - assertSame(ColorEnum.BLUE, it.next()); - } - - public void testList() { - List list = new ArrayList(ColorEnum.getEnumList()); - - assertNotNull(list); - - assertEquals(list.size(), ColorEnum.getEnumMap().keySet().size()); - - Iterator it = list.iterator(); - assertSame(ColorEnum.RED, it.next()); - assertSame(ColorEnum.GREEN, it.next()); - assertSame(ColorEnum.BLUE, it.next()); - } - - public void testMap() { - Map map = new HashMap(ColorEnum.getEnumMap()); - - assertNotNull(map); - assertTrue(map.containsValue(ColorEnum.RED)); - assertTrue(map.containsValue(ColorEnum.GREEN)); - assertTrue(map.containsValue(ColorEnum.BLUE)); - assertSame(ColorEnum.RED, map.get("Red")); - assertSame(ColorEnum.GREEN, map.get("Green")); - assertSame(ColorEnum.BLUE, map.get("Blue")); - assertEquals(map.keySet().size(), ColorEnum.getEnumList().size()); - } - - public void testGet() { - assertSame(ColorEnum.RED, ColorEnum.getEnum("Red")); - assertSame(ColorEnum.GREEN, ColorEnum.getEnum("Green")); - assertSame(ColorEnum.BLUE, ColorEnum.getEnum("Blue")); - assertSame(null, ColorEnum.getEnum("Pink")); - } - - public void testSerialization() { - int hashCode = ColorEnum.RED.hashCode(); - assertSame(ColorEnum.RED, SerializationUtils.clone(ColorEnum.RED)); - assertEquals(hashCode, SerializationUtils.clone(ColorEnum.RED).hashCode()); - assertSame(ColorEnum.GREEN, SerializationUtils.clone(ColorEnum.GREEN)); - assertSame(ColorEnum.BLUE, SerializationUtils.clone(ColorEnum.BLUE)); - } - - public void testBroken1() { - try { - Broken1Enum.RED.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken2() { - try { - Broken2Enum.RED.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken3() { - try { - Broken3Enum.RED.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken1Operation() { - try { - Broken1OperationEnum.PLUS.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken2Operation() { - try { - Broken2OperationEnum.PLUS.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken3Operation() { - try { - Broken3OperationEnum.PLUS.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken4Operation() { - try { - Broken4OperationEnum.PLUS.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testBroken5Operation() { - try { - Broken5OperationEnum.PLUS.getName(); - fail(); - } catch (ExceptionInInitializerError ex) { - assertTrue(ex.getException() instanceof IllegalArgumentException); - } - } - - public void testOperationGet() { - assertSame(OperationEnum.PLUS, OperationEnum.getEnum("Plus")); - assertSame(OperationEnum.MINUS, OperationEnum.getEnum("Minus")); - assertSame(null, OperationEnum.getEnum("Pink")); - } - - public void testOperationSerialization() { - assertSame(OperationEnum.PLUS, SerializationUtils.clone(OperationEnum.PLUS)); - assertSame(OperationEnum.MINUS, SerializationUtils.clone(OperationEnum.MINUS)); - } - - public void testOperationToString() { - assertEquals("OperationEnum[Plus]", OperationEnum.PLUS.toString()); - } - - public void testOperationList() { - List list = OperationEnum.getEnumList(); - assertNotNull(list); - assertEquals(2, list.size()); - assertEquals(list.size(), OperationEnum.getEnumMap().keySet().size()); - - Iterator it = list.iterator(); - assertSame(OperationEnum.PLUS, it.next()); - assertSame(OperationEnum.MINUS, it.next()); - } - - public void testOperationMap() { - Map map = OperationEnum.getEnumMap(); - assertNotNull(map); - assertEquals(map.keySet().size(), OperationEnum.getEnumList().size()); - - assertTrue(map.containsValue(OperationEnum.PLUS)); - assertTrue(map.containsValue(OperationEnum.MINUS)); - assertSame(OperationEnum.PLUS, map.get("Plus")); - assertSame(OperationEnum.MINUS, map.get("Minus")); - } - - public void testOperationCalculation() { - assertEquals(3, OperationEnum.PLUS.eval(1, 2)); - assertEquals(-1, OperationEnum.MINUS.eval(1, 2)); - } - - // ----------------------------------------------------------------------- - public void testExtended1Get() { - assertSame(Extended1Enum.ALPHA, Extended1Enum.getEnum("Alpha")); - assertSame(Extended1Enum.BETA, Extended1Enum.getEnum("Beta")); - assertSame(null, Extended1Enum.getEnum("Gamma")); - assertSame(null, Extended1Enum.getEnum("Delta")); - } - - public void testExtended2Get() { - assertSame(Extended1Enum.ALPHA, Extended2Enum.ALPHA); - assertSame(Extended1Enum.BETA, Extended2Enum.BETA); - - assertSame(Extended2Enum.ALPHA, Extended2Enum.getEnum("Alpha")); - assertSame(Extended2Enum.BETA, Extended2Enum.getEnum("Beta")); - assertSame(Extended2Enum.GAMMA, Extended2Enum.getEnum("Gamma")); - assertSame(null, Extended2Enum.getEnum("Delta")); - } - - public void testExtended3Get() { - assertSame(Extended2Enum.ALPHA, Extended3Enum.ALPHA); - assertSame(Extended2Enum.BETA, Extended3Enum.BETA); - assertSame(Extended2Enum.GAMMA, Extended3Enum.GAMMA); - - assertSame(Extended3Enum.ALPHA, Extended3Enum.getEnum("Alpha")); - assertSame(Extended3Enum.BETA, Extended3Enum.getEnum("Beta")); - assertSame(Extended3Enum.GAMMA, Extended3Enum.getEnum("Gamma")); - assertSame(Extended3Enum.DELTA, Extended3Enum.getEnum("Delta")); - } - - public void testExtendedSerialization() { - assertSame(Extended1Enum.ALPHA, SerializationUtils.clone(Extended1Enum.ALPHA)); - assertSame(Extended1Enum.BETA, SerializationUtils.clone(Extended1Enum.BETA)); - assertSame(Extended2Enum.GAMMA, SerializationUtils.clone(Extended2Enum.GAMMA)); - assertSame(Extended3Enum.DELTA, SerializationUtils.clone(Extended3Enum.DELTA)); - } - - public void testExtendedToString() { - assertEquals("Extended1Enum[Alpha]", Extended1Enum.ALPHA.toString()); - assertEquals("Extended1Enum[Beta]", Extended1Enum.BETA.toString()); - - assertEquals("Extended1Enum[Alpha]", Extended2Enum.ALPHA.toString()); - assertEquals("Extended1Enum[Beta]", Extended2Enum.BETA.toString()); - assertEquals("Extended2Enum[Gamma]", Extended2Enum.GAMMA.toString()); - - assertEquals("Extended1Enum[Alpha]", Extended3Enum.ALPHA.toString()); - assertEquals("Extended1Enum[Beta]", Extended3Enum.BETA.toString()); - assertEquals("Extended2Enum[Gamma]", Extended3Enum.GAMMA.toString()); - assertEquals("Extended3Enum[Delta]", Extended3Enum.DELTA.toString()); - } - - public void testExtended1List() { - List list = Extended1Enum.getEnumList(); - assertNotNull(list); - assertEquals(2, list.size()); - assertEquals(list.size(), Extended1Enum.getEnumMap().keySet().size()); - - Iterator it = list.iterator(); - assertSame(Extended1Enum.ALPHA, it.next()); - assertSame(Extended1Enum.BETA, it.next()); - } - - public void testExtended2List() { - List list = Extended2Enum.getEnumList(); - assertNotNull(list); - assertEquals(3, list.size()); - assertEquals(list.size(), Extended2Enum.getEnumMap().keySet().size()); - - Iterator it = list.iterator(); - assertSame(Extended2Enum.ALPHA, it.next()); - assertSame(Extended2Enum.BETA, it.next()); - assertSame(Extended2Enum.GAMMA, it.next()); - } - - public void testExtended3List() { - List list = Extended3Enum.getEnumList(); - assertNotNull(list); - assertEquals(4, list.size()); - assertEquals(list.size(), Extended3Enum.getEnumMap().keySet().size()); - - Iterator it = list.iterator(); - assertSame(Extended3Enum.ALPHA, it.next()); - assertSame(Extended3Enum.BETA, it.next()); - assertSame(Extended3Enum.GAMMA, it.next()); - assertSame(Extended3Enum.DELTA, it.next()); - } - - public void testExtended1Map() { - Map map = Extended1Enum.getEnumMap(); - assertNotNull(map); - assertEquals(map.keySet().size(), Extended1Enum.getEnumList().size()); - - assertTrue(map.containsValue(Extended1Enum.ALPHA)); - assertTrue(map.containsValue(Extended1Enum.BETA)); - assertSame(Extended1Enum.ALPHA, map.get("Alpha")); - assertSame(Extended1Enum.BETA, map.get("Beta")); - } - - public void testExtended2Map() { - Map map = Extended2Enum.getEnumMap(); - assertNotNull(map); - assertEquals(map.keySet().size(), Extended2Enum.getEnumList().size()); - - assertTrue(map.containsValue(Extended2Enum.ALPHA)); - assertTrue(map.containsValue(Extended2Enum.BETA)); - assertTrue(map.containsValue(Extended2Enum.GAMMA)); - assertSame(Extended2Enum.ALPHA, map.get("Alpha")); - assertSame(Extended2Enum.BETA, map.get("Beta")); - assertSame(Extended2Enum.GAMMA, map.get("Gamma")); - } - - public void testExtended3Map() { - Map map = Extended3Enum.getEnumMap(); - assertNotNull(map); - assertEquals(map.keySet().size(), Extended3Enum.getEnumList().size()); - - assertTrue(map.containsValue(Extended3Enum.ALPHA)); - assertTrue(map.containsValue(Extended3Enum.BETA)); - assertTrue(map.containsValue(Extended3Enum.GAMMA)); - assertTrue(map.containsValue(Extended3Enum.DELTA)); - assertSame(Extended3Enum.ALPHA, map.get("Alpha")); - assertSame(Extended3Enum.BETA, map.get("Beta")); - assertSame(Extended3Enum.GAMMA, map.get("Gamma")); - assertSame(Extended3Enum.DELTA, map.get("Delta")); - } - - // ----------------------------------------------------------------------- - public void testNested() { - List list = new ArrayList(Nest.ColorEnum.getEnumList()); - assertEquals(3, list.size()); // all is well - Iterator it = list.iterator(); - assertSame(Nest.ColorEnum.RED, it.next()); - assertSame(Nest.ColorEnum.GREEN, it.next()); - assertSame(Nest.ColorEnum.BLUE, it.next()); - // This nesting works because the enum constants are defined in the SAME - // class as the getEnumList(). It just acts as a normal enum. - } - - public void testNestedBroken() { - List list = new ArrayList(NestBroken.ColorEnum.getEnumList()); - try { - assertEquals(0, list.size()); // no enums!!! - // this is BROKEN because the enum constants are defined in a DIFFERENT - // class from getEnumList(). Once NestBroken class is referenced, - // and thus class loaded with its enum constants, the getEnumList works: - } catch (AssertionFailedError ex) { - // this actually works and isn't broken on Linux SunJDK1.4.1, so... - assertEquals(3, list.size()); - } - new NestBroken(); - list = new ArrayList(NestBroken.ColorEnum.getEnumList()); - assertEquals(3, list.size()); // all is well!!! - Iterator it = list.iterator(); - assertSame(NestBroken.RED, it.next()); - assertSame(NestBroken.GREEN, it.next()); - assertSame(NestBroken.BLUE, it.next()); - } - - public void testNestedLinked() { - List list = new ArrayList(NestLinked.ColorEnum.getEnumList()); - assertEquals(3, list.size()); // all is well - Iterator it = list.iterator(); - assertSame(NestLinked.RED, it.next()); - assertSame(NestLinked.GREEN, it.next()); - assertSame(NestLinked.BLUE, it.next()); - // This nesting works because a static block in the enum class forces a - // class load of the outer class which defines the enum constants. - } - - public void testNestedReferenced() { - List list = new ArrayList(NestReferenced.ColorEnum.getEnumList()); - assertEquals(3, list.size()); // all is well - Iterator it = list.iterator(); - assertSame(NestReferenced.RED, it.next()); - assertSame(NestReferenced.GREEN, it.next()); - assertSame(NestReferenced.BLUE, it.next()); - // This nesting works because the enum constants are actually defined in - // the SAME class as the getEnumList(). The references in the outer class - // are just extra references. - } - - public void testColorEnumEqualsWithDifferentClassLoaders() throws SecurityException, IllegalArgumentException, - ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException { - this.testWithDifferentClassLoaders(ColorEnum.BLUE); - this.testWithDifferentClassLoaders(ColorEnum.GREEN); - this.testWithDifferentClassLoaders(ColorEnum.RED); - } - - void testWithDifferentClassLoaders(ColorEnum colorEnum) throws ClassNotFoundException, SecurityException, - NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { - // Sanity checks: - assertTrue(colorEnum.equals(colorEnum)); - assertNotNull(ColorEnum.class.getClassLoader()); - // set up: - ClassLoader myClassLoader = EnumTest.class.getClassLoader(); - if (!(myClassLoader instanceof URLClassLoader)) { - fail("EnumTest ClassLoader = " + (myClassLoader == null ? null : myClassLoader.getClass().getName())); - } - ClassLoader classLoader = URLClassLoader.newInstance( ((URLClassLoader)myClassLoader).getURLs(), null); - Object enumObjectFromOtherClassLoader = this.getColorEnum(classLoader, colorEnum.getName()); - - // the real test, part 1. - try { - ColorEnum testCase = (ColorEnum) enumObjectFromOtherClassLoader; - fail("Should have thrown a ClassCastException for " + testCase); - } catch (ClassCastException e) { - // normal. - } - - // the real test, part 2. - assertEquals("The two objects should match even though they are from different class loaders", colorEnum, - enumObjectFromOtherClassLoader); - - // the real test, part 3 - testing equals(Object) - int falseCount = 0; - for (Iterator iter = ColorEnum.iterator(); iter.hasNext();) { - ColorEnum element = (ColorEnum) iter.next(); - if (!colorEnum.equals(element)) { - falseCount++; - assertFalse(enumObjectFromOtherClassLoader.equals(element)); - } - } - assertEquals(ColorEnum.getEnumList().size() - 1, falseCount); - - // the real test, part 4 - testing compareTo(Object) == 0 - falseCount = 0; - for (Iterator iter = ColorEnum.iterator(); iter.hasNext();) { - ColorEnum element = (ColorEnum) iter.next(); - if (!colorEnum.equals(element)) { - falseCount++; - assertFalse( ((Comparable)enumObjectFromOtherClassLoader).compareTo(element) == 0); - } - } - assertEquals(ColorEnum.getEnumList().size() - 1, falseCount); - } - - Object getColorEnum(ClassLoader classLoader, String color) throws ClassNotFoundException, SecurityException, - NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { - // Sanity check: - ColorEnum.RED.equals(ColorEnum.RED); - assertNotNull(ColorEnum.class.getClassLoader()); - // set up: - assertNotNull(classLoader); - assertFalse(classLoader.equals(ColorEnum.class.getClassLoader())); - Class otherColorEnumClass = null; - try { - otherColorEnumClass = classLoader.loadClass(ENUM_CLASS_NAME); - } catch (ClassNotFoundException e) { - // Dump some information to help debug class loader issues under different JREs, Ant, Eclipse. - System.err.println("Could not load " + ENUM_CLASS_NAME + " from the class loader " + classLoader); - URLClassLoader urlCl = (URLClassLoader) classLoader; - URL[] urls = urlCl.getURLs(); - System.err.println("Class loader has " + urls.length + " URLs:"); - for (int i = 0; i < urls.length; i++) { - System.err.println("URL[" + i + "] = " + urls[i]); - } - e.printStackTrace(); - throw e; - } - assertNotNull(otherColorEnumClass); - assertNotNull(otherColorEnumClass.getClassLoader()); - assertTrue(classLoader.equals(otherColorEnumClass.getClassLoader())); - assertFalse(otherColorEnumClass.getClassLoader().equals(ColorEnum.class.getClassLoader())); - Method method = otherColorEnumClass.getMethod("getEnum", new Class[]{String.class}); - Object enumObject = method.invoke(otherColorEnumClass, new Object[]{color}); - assertNotNull(enumObject); - assertFalse(ColorEnum.class.equals(enumObject.getClass())); - assertFalse(ColorEnum.class == enumObject.getClass()); - return enumObject; - } - - public void testEqualsToWrongInstance() { - for (Iterator iter = ColorEnum.iterator(); iter.hasNext();) { - ColorEnum element = (ColorEnum) iter.next(); - this.testEqualsToWrongInstance(element); - } - } - - void testEqualsToWrongInstance(ColorEnum colorEnum) { - assertEquals(false, colorEnum.equals("test")); - assertEquals(false, colorEnum.equals(new Integer(1))); - assertEquals(false, colorEnum.equals(new Boolean(true))); - assertEquals(false, colorEnum.equals(new StringBuffer("test"))); - assertEquals(false, colorEnum.equals(new Object())); - assertEquals(false, colorEnum.equals(null)); - assertEquals(false, colorEnum.equals("")); - assertEquals(false, colorEnum.equals(ColorEnum.getEnum(null))); - assertEquals(false, colorEnum.equals(ColorEnum.getEnum(""))); - assertEquals(false, colorEnum.equals(ColorEnum.getEnum("This ColorEnum does not exist."))); - } -} diff --git a/src/test/org/apache/commons/lang/enum/EnumTestSuite.java b/src/test/org/apache/commons/lang/enum/EnumTestSuite.java deleted file mode 100644 index 34dde67dd..000000000 --- a/src/test/org/apache/commons/lang/enum/EnumTestSuite.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import junit.textui.TestRunner; - -/** - * Test suite for the Enum package. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public class EnumTestSuite extends TestCase { - - /** - * Construct a new instance. - */ - public EnumTestSuite(String name) { - super(name); - } - - /** - * Command-line interface. - */ - public static void main(String[] args) { - TestRunner.run(suite()); - } - - /** - * Get the suite of tests - */ - public static Test suite() { - TestSuite suite = new TestSuite(); - suite.setName("Commons-Lang-Enum Tests"); - suite.addTest(EnumTest.suite()); - suite.addTest(EnumUtilsTest.suite()); - suite.addTest(ValuedEnumTest.suite()); - return suite; - } -} diff --git a/src/test/org/apache/commons/lang/enum/EnumUtilsTest.java b/src/test/org/apache/commons/lang/enum/EnumUtilsTest.java deleted file mode 100644 index 2a1804808..000000000 --- a/src/test/org/apache/commons/lang/enum/EnumUtilsTest.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Modifier; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Test cases for the {@link Enum} class. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class EnumUtilsTest extends TestCase { - - public EnumUtilsTest(String name) { - super(name); - } - - public void setUp() { - } - - public static Test suite() { - TestSuite suite = new TestSuite(EnumUtilsTest.class); - suite.setName("EnumUtils Tests"); - return suite; - } - - //----------------------------------------------------------------------- - public void testConstructor() { - assertNotNull(new EnumUtils()); - Constructor[] cons = EnumUtils.class.getDeclaredConstructors(); - assertEquals(1, cons.length); - assertEquals(true, Modifier.isPublic(cons[0].getModifiers())); - assertEquals(true, Modifier.isPublic(EnumUtils.class.getModifiers())); - assertEquals(false, Modifier.isFinal(EnumUtils.class.getModifiers())); - } - - //----------------------------------------------------------------------- - public void testIterator() { - Iterator it = EnumUtils.iterator(ColorEnum.class); - assertSame(ColorEnum.RED, it.next()); - assertSame(ColorEnum.GREEN, it.next()); - assertSame(ColorEnum.BLUE, it.next()); - it = EnumUtils.iterator(DummyEnum.class); - assertEquals(false, it.hasNext()); - } - - public void testIteratorEx() { - try { - EnumUtils.iterator(null); - fail(); - } catch (IllegalArgumentException ex) {} - try { - EnumUtils.iterator(Object.class); - fail(); - } catch (IllegalArgumentException ex) {} - } - - //----------------------------------------------------------------------- - public void testList() { - List list = EnumUtils.getEnumList(ColorEnum.class); - Iterator it = list.iterator(); - assertSame(ColorEnum.RED, it.next()); - assertSame(ColorEnum.GREEN, it.next()); - assertSame(ColorEnum.BLUE, it.next()); - list = EnumUtils.getEnumList(DummyEnum.class); - assertEquals(0, list.size()); - } - - public void testListEx() { - try { - EnumUtils.getEnumList(null); - fail(); - } catch (IllegalArgumentException ex) {} - try { - EnumUtils.getEnumList(Object.class); - fail(); - } catch (IllegalArgumentException ex) {} - } - - //----------------------------------------------------------------------- - public void testMap() { - Map map = EnumUtils.getEnumMap(ColorEnum.class); - assertTrue(map.containsValue(ColorEnum.RED)); - assertTrue(map.containsValue(ColorEnum.GREEN)); - assertTrue(map.containsValue(ColorEnum.BLUE)); - assertSame(ColorEnum.RED, map.get("Red")); - assertSame(ColorEnum.GREEN, map.get("Green")); - assertSame(ColorEnum.BLUE, map.get("Blue")); - map = EnumUtils.getEnumMap(DummyEnum.class); - assertEquals(0, map.size()); - } - - public void testMapEx() { - try { - EnumUtils.getEnumMap(null); - fail(); - } catch (IllegalArgumentException ex) {} - try { - EnumUtils.getEnumMap(Object.class); - fail(); - } catch (IllegalArgumentException ex) {} - } - - //----------------------------------------------------------------------- - public void testGet() { - assertSame(ColorEnum.RED, EnumUtils.getEnum(ColorEnum.class, "Red")); - assertSame(ColorEnum.GREEN, EnumUtils.getEnum(ColorEnum.class, "Green")); - assertSame(ColorEnum.BLUE, EnumUtils.getEnum(ColorEnum.class, "Blue")); - assertSame(null, EnumUtils.getEnum(ColorEnum.class, "Pink")); - assertSame(null, EnumUtils.getEnum(DummyEnum.class, "Pink")); - } - - public void testGetEx() { - try { - EnumUtils.getEnum(null, ""); - fail(); - } catch (IllegalArgumentException ex) {} - try { - EnumUtils.getEnum(Object.class, "Red"); - fail(); - } catch (IllegalArgumentException ex) {} - } - - //----------------------------------------------------------------------- - public void testGetValue() { - assertSame(ValuedColorEnum.RED, EnumUtils.getEnum(ValuedColorEnum.class, 1)); - assertSame(ValuedColorEnum.GREEN, EnumUtils.getEnum(ValuedColorEnum.class, 2)); - assertSame(ValuedColorEnum.BLUE, EnumUtils.getEnum(ValuedColorEnum.class, 3)); - assertSame(null, EnumUtils.getEnum(ValuedColorEnum.class, 4)); - assertSame(null, EnumUtils.getEnum(DummyEnum.class, 5)); - } - - public void testGetValueEx() { - try { - EnumUtils.getEnum(null, 0); - fail(); - } catch (IllegalArgumentException ex) {} - try { - EnumUtils.getEnum(Object.class, 2); - fail(); - } catch (IllegalArgumentException ex) {} - } - -} diff --git a/src/test/org/apache/commons/lang/enum/Extended1Enum.java b/src/test/org/apache/commons/lang/enum/Extended1Enum.java deleted file mode 100644 index 50c303f6f..000000000 --- a/src/test/org/apache/commons/lang/enum/Extended1Enum.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Base extended enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public class Extended1Enum extends Enum { - public static final Extended1Enum ALPHA = new Extended1Enum("Alpha"); - public static final Extended1Enum BETA = new Extended1Enum("Beta"); - - protected Extended1Enum(String name) { - super(name); - } - - public static Extended1Enum getEnum(String name) { - return (Extended1Enum) getEnum(Extended1Enum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Extended1Enum.class); - } - - public static List getEnumList() { - return getEnumList(Extended1Enum.class); - } - - public static Iterator iterator() { - return iterator(Extended1Enum.class); - } - -} diff --git a/src/test/org/apache/commons/lang/enum/Extended2Enum.java b/src/test/org/apache/commons/lang/enum/Extended2Enum.java deleted file mode 100644 index 6f0be1242..000000000 --- a/src/test/org/apache/commons/lang/enum/Extended2Enum.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Extended enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public class Extended2Enum extends Extended1Enum { - public static final Extended1Enum GAMMA = new Extended2Enum("Gamma"); - - protected Extended2Enum(String color) { - super(color); - } - - public static Extended1Enum getEnum(String name) { - return (Extended1Enum) getEnum(Extended2Enum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(Extended2Enum.class); - } - - public static List getEnumList() { - return getEnumList(Extended2Enum.class); - } - - public static Iterator iterator() { - return iterator(Extended2Enum.class); - } - -} diff --git a/src/test/org/apache/commons/lang/enum/Extended3Enum.java b/src/test/org/apache/commons/lang/enum/Extended3Enum.java deleted file mode 100644 index c8574102f..000000000 --- a/src/test/org/apache/commons/lang/enum/Extended3Enum.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Extended enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public class Extended3Enum extends Extended2Enum { - public static final Extended1Enum DELTA = new Extended3Enum("Delta"); - - protected Extended3Enum(String name) { - super(name); - } - - public static Extended1Enum getEnum(String name) { - return (Extended1Enum) Enum.getEnum(Extended3Enum.class, name); - } - - public static Map getEnumMap() { - return Enum.getEnumMap(Extended3Enum.class); - } - - public static List getEnumList() { - return Enum.getEnumList(Extended3Enum.class); - } - - public static Iterator iterator() { - return Enum.iterator(Extended3Enum.class); - } - -} diff --git a/src/test/org/apache/commons/lang/enum/Nest.java b/src/test/org/apache/commons/lang/enum/Nest.java deleted file mode 100644 index d31ef328a..000000000 --- a/src/test/org/apache/commons/lang/enum/Nest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Color enumeration demonstrating a normal simple nesting case. - * All is well here as the nested enum class is really no different - * to any other class. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class Nest { - - public Nest() { - super(); - } - - public static final class ColorEnum extends Enum { - public static final ColorEnum RED = new ColorEnum("Red"); - public static final ColorEnum GREEN = new ColorEnum("Green"); - public static final ColorEnum BLUE = new ColorEnum("Blue"); - - private ColorEnum(String color) { - super(color); - } - - public static ColorEnum getEnum(String color) { - return (ColorEnum) getEnum(ColorEnum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(ColorEnum.class); - } - - public static List getEnumList() { - return getEnumList(ColorEnum.class); - } - - public static Iterator iterator() { - return iterator(ColorEnum.class); - } - } -} diff --git a/src/test/org/apache/commons/lang/enum/NestBroken.java b/src/test/org/apache/commons/lang/enum/NestBroken.java deleted file mode 100644 index 8f6e91943..000000000 --- a/src/test/org/apache/commons/lang/enum/NestBroken.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Color enumeration which demonstrates how to break the enum system. - *
- * The class loader sees the two classes here as independent - the enum
- * class is nested, not an inner class. Calling getEnumList() on ColorEnum
- * will return an empty list, unless and until the NestBroken class is
- * referenced.
- *
- * @author Stephen Colebourne
- * @version $Id$
- */
-
-public final class NestBroken {
-
- public static final ColorEnum RED = new ColorEnum("Red");
- public static final ColorEnum GREEN = new ColorEnum("Green");
- public static final ColorEnum BLUE = new ColorEnum("Blue");
-
- public NestBroken() {
- super();
- }
-
- public static final class ColorEnum extends Enum {
-
- private ColorEnum(String color) {
- super(color);
- }
-
- public static ColorEnum getEnum(String color) {
- return (ColorEnum) getEnum(ColorEnum.class, color);
- }
-
- public static Map getEnumMap() {
- return getEnumMap(ColorEnum.class);
- }
-
- public static List getEnumList() {
- return getEnumList(ColorEnum.class);
- }
-
- public static Iterator iterator() {
- return iterator(ColorEnum.class);
- }
- }
-}
diff --git a/src/test/org/apache/commons/lang/enum/NestLinked.java b/src/test/org/apache/commons/lang/enum/NestLinked.java
deleted file mode 100644
index 499b4a685..000000000
--- a/src/test/org/apache/commons/lang/enum/NestLinked.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 org.apache.commons.lang.enum;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Color enumeration which demonstrates how to define the constants in a
- * different class to the Enum. The extra static{}
block is
- * needed to ensure that the enum constants are created before the
- * static methods on the ColorEnum are used.
- *
- * The class loader sees the two classes here as independent - the enum - * class is nested, not an inner class. The static block thus forces the - * class load of the outer class, which is needed to initialise the enums. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class NestLinked { - - public static final ColorEnum RED = new ColorEnum("Red"); - public static final ColorEnum GREEN = new ColorEnum("Green"); - public static final ColorEnum BLUE = new ColorEnum("Blue"); - - public NestLinked() { - super(); - } - - public static final class ColorEnum extends Enum { - - static { - // Explicitly reference the class where the enums are defined - Object obj = NestLinked.RED; - } - - private ColorEnum(String color) { - super(color); - } - - public static ColorEnum getEnum(String color) { - return (ColorEnum) getEnum(ColorEnum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(ColorEnum.class); - } - - public static List getEnumList() { - return getEnumList(ColorEnum.class); - } - - public static Iterator iterator() { - return iterator(ColorEnum.class); - } - } -} diff --git a/src/test/org/apache/commons/lang/enum/NestReferenced.java b/src/test/org/apache/commons/lang/enum/NestReferenced.java deleted file mode 100644 index dbbef4f7e..000000000 --- a/src/test/org/apache/commons/lang/enum/NestReferenced.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Color enumeration which demonstrates how to provide a view of the constants - * in a different class to the Enum. This technique is the safest, however it - * is obviously inconvenient as it involves defining two sets of constants. - * See NestedLinked for an alternative. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class NestReferenced { - - public static final ColorEnum RED = ColorEnum.RED; - public static final ColorEnum GREEN = ColorEnum.GREEN; - public static final ColorEnum BLUE = ColorEnum.BLUE; - - public NestReferenced() { - super(); - } - - public static final class ColorEnum extends Enum { - - // must be defined here, not just in outer class - private static final ColorEnum RED = new ColorEnum("Red"); - private static final ColorEnum GREEN = new ColorEnum("Green"); - private static final ColorEnum BLUE = new ColorEnum("Blue"); - - private ColorEnum(String color) { - super(color); - } - - public static ColorEnum getEnum(String color) { - return (ColorEnum) getEnum(ColorEnum.class, color); - } - - public static Map getEnumMap() { - return getEnumMap(ColorEnum.class); - } - - public static List getEnumList() { - return getEnumList(ColorEnum.class); - } - - public static Iterator iterator() { - return iterator(ColorEnum.class); - } - } -} diff --git a/src/test/org/apache/commons/lang/enum/OperationEnum.java b/src/test/org/apache/commons/lang/enum/OperationEnum.java deleted file mode 100644 index 0cbae3924..000000000 --- a/src/test/org/apache/commons/lang/enum/OperationEnum.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Operator enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ -public abstract class OperationEnum extends Enum { - // This syntax works for JDK 1.3 and upwards: -// public static final OperationEnum PLUS = new OperationEnum("Plus") { -// public int eval(int a, int b) { -// return (a + b); -// } -// }; -// public static final OperationEnum MINUS = new OperationEnum("Minus") { -// public int eval(int a, int b) { -// return (a - b); -// } -// }; - // This syntax works for JDK 1.2 and upwards: - public static final OperationEnum PLUS = new PlusOperation(); - private static class PlusOperation extends OperationEnum { - private PlusOperation() { - super("Plus"); - } - public int eval(int a, int b) { - return (a + b); - } - } - public static final OperationEnum MINUS = new MinusOperation(); - private static class MinusOperation extends OperationEnum { - private MinusOperation() { - super("Minus"); - } - public int eval(int a, int b) { - return (a - b); - } - } - - private OperationEnum(String name) { - super(name); - } - - public final Class getEnumClass() { - return OperationEnum.class; - } - - public abstract int eval(int a, int b); - - public static OperationEnum getEnum(String name) { - return (OperationEnum) getEnum(OperationEnum.class, name); - } - - public static Map getEnumMap() { - return getEnumMap(OperationEnum.class); - } - - public static List getEnumList() { - return getEnumList(OperationEnum.class); - } - - public static Iterator iterator() { - return iterator(OperationEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/ValuedColorEnum.java b/src/test/org/apache/commons/lang/enum/ValuedColorEnum.java deleted file mode 100644 index 5181cd765..000000000 --- a/src/test/org/apache/commons/lang/enum/ValuedColorEnum.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * Color enumeration. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class ValuedColorEnum extends ValuedEnum { - public static final ValuedColorEnum RED = new ValuedColorEnum("Red", 1); - public static final ValuedColorEnum GREEN = new ValuedColorEnum("Green", 2); - public static final ValuedColorEnum BLUE = new ValuedColorEnum("Blue", 3); - - private ValuedColorEnum(String color, int value) { - super(color, value); - } - - public static ValuedColorEnum getEnum(String color) { - return (ValuedColorEnum) getEnum(ValuedColorEnum.class, color); - } - - public static ValuedColorEnum getEnum(int value) { - return (ValuedColorEnum) getEnum(ValuedColorEnum.class, value); - } - - public static Map getEnumMap() { - return getEnumMap(ValuedColorEnum.class); - } - - public static List getEnumList() { - return getEnumList(ValuedColorEnum.class); - } - - public static Iterator iterator() { - return iterator(ValuedColorEnum.class); - } -} diff --git a/src/test/org/apache/commons/lang/enum/ValuedEnumTest.java b/src/test/org/apache/commons/lang/enum/ValuedEnumTest.java deleted file mode 100644 index 042647d18..000000000 --- a/src/test/org/apache/commons/lang/enum/ValuedEnumTest.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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 org.apache.commons.lang.enum; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.apache.commons.lang.SerializationUtils; - -/** - * Test cases for the {@link Enum} class. - * - * @author Stephen Colebourne - * @version $Id$ - */ - -public final class ValuedEnumTest extends TestCase { - - public ValuedEnumTest(String name) { - super(name); - } - - public void setUp() { - } - - public static Test suite() { - TestSuite suite = new TestSuite(ValuedEnumTest.class); - suite.setName("ValuedEnum Tests"); - return suite; - } - - public void testName() { - assertEquals("Red", ValuedColorEnum.RED.getName()); - assertEquals("Green", ValuedColorEnum.GREEN.getName()); - assertEquals("Blue", ValuedColorEnum.BLUE.getName()); - } - - public void testValue() { - assertEquals(1, ValuedColorEnum.RED.getValue()); - assertEquals(2, ValuedColorEnum.GREEN.getValue()); - assertEquals(3, ValuedColorEnum.BLUE.getValue()); - } - - public void testCompareTo() { - assertTrue(ValuedColorEnum.BLUE.compareTo(ValuedColorEnum.BLUE) == 0); - assertTrue(ValuedColorEnum.RED.compareTo(ValuedColorEnum.BLUE) < 0); - assertTrue(ValuedColorEnum.BLUE.compareTo(ValuedColorEnum.RED) > 0); - } - - public void testEquals() { - assertSame(ValuedColorEnum.RED, ValuedColorEnum.RED); - assertSame(ValuedColorEnum.getEnum("Red"), ValuedColorEnum.RED); - } - - public void testToString() { - String toString = ValuedColorEnum.RED.toString(); - assertEquals("ValuedColorEnum[Red=1]", toString); - assertSame(toString, ValuedColorEnum.RED.toString()); - } - - public void testIterator() { - Iterator it = ValuedColorEnum.iterator(); - assertSame(ValuedColorEnum.RED, it.next()); - assertSame(ValuedColorEnum.GREEN, it.next()); - assertSame(ValuedColorEnum.BLUE, it.next()); - } - - public void testList() { - List list = ValuedColorEnum.getEnumList(); - - assertNotNull(list); - - assertEquals( list.size(), - ValuedColorEnum.getEnumMap().keySet().size()); - - Iterator it = list.iterator(); - assertSame(ValuedColorEnum.RED, it.next()); - assertSame(ValuedColorEnum.GREEN, it.next()); - assertSame(ValuedColorEnum.BLUE, it.next()); - } - - public void testMap() { - Map map = ValuedColorEnum.getEnumMap(); - - assertNotNull(map); - - assertEquals( map.keySet().size(), - ValuedColorEnum.getEnumList().size()); - - assertTrue(map.containsValue(ValuedColorEnum.RED)); - assertTrue(map.containsValue(ValuedColorEnum.GREEN)); - assertTrue(map.containsValue(ValuedColorEnum.BLUE)); - assertSame(ValuedColorEnum.RED, map.get("Red")); - assertSame(ValuedColorEnum.GREEN, map.get("Green")); - assertSame(ValuedColorEnum.BLUE, map.get("Blue")); - } - - public void testGet() { - assertSame(ValuedColorEnum.RED, ValuedColorEnum.getEnum("Red")); - assertSame(ValuedColorEnum.GREEN, ValuedColorEnum.getEnum("Green")); - assertSame(ValuedColorEnum.BLUE, ValuedColorEnum.getEnum("Blue")); - assertSame(null, ValuedColorEnum.getEnum("Pink")); - } - - public void testGetValue() { - assertSame(ValuedColorEnum.RED, ValuedColorEnum.getEnum(1)); - assertSame(ValuedColorEnum.GREEN, ValuedColorEnum.getEnum(2)); - assertSame(ValuedColorEnum.BLUE, ValuedColorEnum.getEnum(3)); - assertSame(null, ValuedColorEnum.getEnum(4)); - } - - public void testSerialization() { - assertSame(ValuedColorEnum.RED, SerializationUtils.clone(ValuedColorEnum.RED)); - assertSame(ValuedColorEnum.GREEN, SerializationUtils.clone(ValuedColorEnum.GREEN)); - assertSame(ValuedColorEnum.BLUE, SerializationUtils.clone(ValuedColorEnum.BLUE)); - } - -}