1 added + 3 modified, total 4 files
GeomConverter/src/org/lcsim/detector/identifier
diff -u -r1.8 -r1.9
--- ExpandedIdentifier.java 25 Sep 2007 23:43:36 -0000 1.8
+++ ExpandedIdentifier.java 20 Nov 2007 20:30:03 -0000 1.9
@@ -7,7 +7,7 @@
* Implementation of {@link IExpandedIdentifier}.
*
* @author Jeremy McCormick
- * @version $Id: ExpandedIdentifier.java,v 1.8 2007/09/25 23:43:36 jeremy Exp $
+ * @version $Id: ExpandedIdentifier.java,v 1.9 2007/11/20 20:30:03 jeremy Exp $
*/
public class ExpandedIdentifier
@@ -143,7 +143,7 @@
buff.append("/" + value);
}
return buff.toString();
- }
+ }
public boolean equals(IExpandedIdentifier id)
{
@@ -159,7 +159,24 @@
return false;
}
}
- return true;
+ return true;
+ }
+
+ public int hashCode()
+ {
+ return values.hashCode();
+ }
+
+ public boolean equals(Object object)
+ {
+ if (object instanceof IExpandedIdentifier)
+ {
+ return equals((IExpandedIdentifier)object);
+ }
+ else
+ {
+ return false;
+ }
}
public int match( IExpandedIdentifier id )
@@ -190,8 +207,8 @@
{
if ( idx > getMaxIndex() || idx > id.getMaxIndex() )
{
- throw new IllegalArgumentException( "Index is invalid <" + idx + ">.");
+ throw new IllegalArgumentException( "The index argument <" + idx + "> is out of range.");
}
return Integer.valueOf( getValue( idx ) ).compareTo( id.getValue( idx ) );
- }
+ }
}
GeomConverter/src/org/lcsim/detector/identifier
diff -u -r1.9 -r1.10
--- IExpandedIdentifier.java 28 Aug 2007 22:25:46 -0000 1.9
+++ IExpandedIdentifier.java 20 Nov 2007 20:30:03 -0000 1.10
@@ -10,7 +10,7 @@
* see which indices correspond to which field labels.
*
* @author jeremym
- * @version $Id: IExpandedIdentifier.java,v 1.9 2007/08/28 22:25:46 jeremy Exp $
+ * @version $Id: IExpandedIdentifier.java,v 1.10 2007/11/20 20:30:03 jeremy Exp $
*/
public interface IExpandedIdentifier
@@ -69,7 +69,8 @@
/**
* True if identifiers are logically equivalent.
*/
- public boolean equals(IExpandedIdentifier id);
+ //public boolean equals(IExpandedIdentifier id);
+ public boolean equals(Object object);
/**
* Compares identifiers on prefix fields.
GeomConverter/src/org/lcsim/detector/identifier
diff -u -r1.7 -r1.8
--- Identifier.java 25 Sep 2007 23:43:36 -0000 1.7
+++ Identifier.java 20 Nov 2007 20:30:03 -0000 1.8
@@ -4,7 +4,7 @@
* Implementation of {@link IIdentifier}.
*
* @author Jeremy McCormick
- * @version $Id: Identifier.java,v 1.7 2007/09/25 23:43:36 jeremy Exp $
+ * @version $Id: Identifier.java,v 1.8 2007/11/20 20:30:03 jeremy Exp $
*/
public class Identifier
implements IIdentifier
@@ -99,6 +99,11 @@
}
}
+ public int hashCode()
+ {
+ return Long.valueOf(value).hashCode();
+ }
+
public boolean equals( Object object )
{
return compareTo( object ) == 0;
GeomConverter/test/org/lcsim/detector/identifier
diff -N ExpandedIdentifierTest.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ExpandedIdentifierTest.java 20 Nov 2007 20:30:04 -0000 1.1
@@ -0,0 +1,61 @@
+package org.lcsim.detector.identifier;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+/**
+ * Simple tests of the {@link ExpandedIdentifier} class.
+ *
+ * @author Jeremy McCormick
+ * @version $Id: ExpandedIdentifierTest.java,v 1.1 2007/11/20 20:30:04 jeremy Exp $
+ */
+
+public class ExpandedIdentifierTest
+extends TestCase
+{
+ public void testEquals()
+ {
+ ExpandedIdentifier id1 = new ExpandedIdentifier();
+ id1.addValue(1);
+ id1.addValue(2);
+ ExpandedIdentifier id2 = new ExpandedIdentifier();
+ id2.addValue(1);
+ id2.addValue(2);
+
+ assertTrue(id1.equals(id2));
+ assertTrue(id2.equals(id1));
+
+ Map<ExpandedIdentifier,Integer> testMap = new HashMap<ExpandedIdentifier,Integer>();
+
+ testMap.put(id1, 1);
+ testMap.put(id2, 2);
+
+ assertTrue(testMap.size() == 1);
+ assertTrue(testMap.get(id2) == 2);
+ }
+
+ public void testNotEquals()
+ {
+ ExpandedIdentifier id1 = new ExpandedIdentifier();
+ id1.addValue(1);
+ id1.addValue(2);
+ ExpandedIdentifier id2 = new ExpandedIdentifier();
+ id2.addValue(1);
+ id2.addValue(2);
+ id2.addValue(3);
+
+ assertTrue(!id1.equals(id2));
+ assertTrue(!id2.equals(id1));
+
+ Map<ExpandedIdentifier,Integer> testMap = new HashMap<ExpandedIdentifier,Integer>();
+
+ testMap.put(id1, 1);
+ testMap.put(id2, 2);
+
+ assertTrue(testMap.size() == 2);
+ assertTrue(testMap.get(id1) == 1);
+ assertTrue(testMap.get(id2) == 2);
+ }
+}
CVSspam 0.2.8