henning 01/06/11 04:53:53
Modified: src/java/org/apache/turbine/util SequencedHashtable.java
SequencedHashtableTest.java
Log:
adding the sequence() method to SequencedHashTable, which returns the
ordered sequence of keys as a list. Change was discussed with Daniel
Rall and considered good.
I also added two tests for the operator to the SequencedHashTableTest;
I didn't test these, but they compile and should work.
Revision Changes Path
1.8 +12 -0
jakarta-turbine/src/java/org/apache/turbine/util/SequencedHashtable.java
Index: SequencedHashtable.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/SequencedHashtable.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SequencedHashtable.java 2001/06/08 23:55:24 1.7
+++ SequencedHashtable.java 2001/06/11 11:53:50 1.8
@@ -58,6 +58,7 @@
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -173,6 +174,17 @@
public int lastIndexOf (Object key)
{
return keySequence.lastIndexOf(key);
+ }
+
+ /**
+ * returns the ordered sequence of keys.
+ *
+ * @return The ordered list of keys
+ */
+
+ public List sequence()
+ {
+ return keySequence;
}
/**
1.2 +19 -3
jakarta-turbine/src/java/org/apache/turbine/util/SequencedHashtableTest.java
Index: SequencedHashtableTest.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/SequencedHashtableTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SequencedHashtableTest.java 2001/06/07 21:29:47 1.1
+++ SequencedHashtableTest.java 2001/06/11 11:53:51 1.2
@@ -57,6 +57,7 @@
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Hashtable;
+import java.util.List;
import org.apache.turbine.test.BaseTestCase;
@@ -64,6 +65,7 @@
* Unit tests {@link org.apache.turbine.util.SequencedHashtable}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Daniel Rall</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
*/
public class SequencedHashtableTest extends BaseTestCase
{
@@ -82,9 +84,10 @@
protected void runTest()
throws Throwable
{
- labRat.put("foo", "bar");
- labRat.put("baz", "frob");
- labRat.put("eek", new Object());
+ String keys[] = { "foo", "baz", "eek" };
+ labRat.put(keys[0], "bar");
+ labRat.put(keys[1], "frob");
+ labRat.put(keys[2], new Object());
int expectedSize = 3;
// Test size().
@@ -108,6 +111,19 @@
}
assert("iterator() returned different number of elements than keys()",
!copiedKeys.hasNext());
+
+ // Test sequence()
+
+ List seq = labRat.sequence();
+ assertEquals("sequence() returns more keys than in the map!",
+ seq.size(), expectedSize);
+ int i = 0;
+
+ for(i=0; i < seq.size(); i++)
+ {
+ assertEquals("Key "+i+" is not the same as the put key",
+ keys[i], seq.get(i));
+ }
}
protected void tearDown()
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]