Author: scolebourne
Date: Fri Aug 18 12:51:26 2006
New Revision: 432703
URL: http://svn.apache.org/viewvc?rev=432703&view=rev
Log:
Ensure classes are the same in Enum.compareTo
Modified:
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/enums/Enum.java
jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/enums/EnumEqualsTest.java
Modified:
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/enums/Enum.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/enums/Enum.java?rev=432703&r1=432702&r2=432703&view=diff
==============================================================================
---
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/enums/Enum.java
(original)
+++
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/enums/Enum.java
Fri Aug 18 12:51:26 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2005 The Apache Software Foundation.
+ * Copyright 2002-2006 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.
@@ -584,6 +584,8 @@
if (other.getClass().getName().equals(this.getClass().getName())) {
return iName.compareTo( getNameInOtherClassLoader(other) );
}
+ throw new ClassCastException(
+ "Different enum class '" +
ClassUtils.getShortClassName(other.getClass()) + "'");
}
return iName.compareTo(((Enum) other).iName);
}
Modified:
jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/enums/EnumEqualsTest.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/enums/EnumEqualsTest.java?rev=432703&r1=432702&r2=432703&view=diff
==============================================================================
---
jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/enums/EnumEqualsTest.java
(original)
+++
jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/enums/EnumEqualsTest.java
Fri Aug 18 12:51:26 2006
@@ -87,4 +87,33 @@
assertEquals(false, TrafficlightColorEnum.RED.equals(new
TotallyUnrelatedClass("some")));
assertEquals(false, CarColorEnum.RED.equals(new
TotallyUnrelatedClass("some")));
}
+
+ //-----------------------------------------------------------------------
+ public void testCompareTo() {
+ try {
+ CarColorEnum.RED.compareTo(TrafficlightColorEnum.RED);
+ fail();
+ } catch (ClassCastException ex) {}
+ try {
+ CarColorEnum.YELLOW.compareTo(TrafficlightColorEnum.YELLOW);
+ fail();
+ } catch (ClassCastException ex) {}
+ try {
+ TrafficlightColorEnum.RED.compareTo(new
TotallyUnrelatedClass("red"));
+ fail();
+ } catch (ClassCastException ex) {}
+ try {
+ CarColorEnum.RED.compareTo(new TotallyUnrelatedClass("red"));
+ fail();
+ } catch (ClassCastException ex) {}
+ try {
+ TrafficlightColorEnum.RED.compareTo(new
TotallyUnrelatedClass("some"));
+ fail();
+ } catch (ClassCastException ex) {}
+ try {
+ CarColorEnum.RED.compareTo(new TotallyUnrelatedClass("some"));
+ fail();
+ } catch (ClassCastException ex) {}
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]