You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/09/09 02:17:36 UTC

svn commit: r812735 - in /incubator/pivot/trunk/core: src/org/apache/pivot/collections/ test/org/apache/pivot/collections/test/

Author: gbrown
Date: Wed Sep  9 00:17:35 2009
New Revision: 812735

URL: http://svn.apache.org/viewvc?rev=812735&view=rev
Log:
Test bi-directional iteration in ArrayList; add toStart() and toEnd() methods to List.ItemIterator.

Modified:
    incubator/pivot/trunk/core/src/org/apache/pivot/collections/ArrayList.java
    incubator/pivot/trunk/core/src/org/apache/pivot/collections/LinkedList.java
    incubator/pivot/trunk/core/src/org/apache/pivot/collections/List.java
    incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/ArrayListTest.java
    incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/LinkedListTest.java

Modified: incubator/pivot/trunk/core/src/org/apache/pivot/collections/ArrayList.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/src/org/apache/pivot/collections/ArrayList.java?rev=812735&r1=812734&r2=812735&view=diff
==============================================================================
--- incubator/pivot/trunk/core/src/org/apache/pivot/collections/ArrayList.java (original)
+++ incubator/pivot/trunk/core/src/org/apache/pivot/collections/ArrayList.java Wed Sep  9 00:17:35 2009
@@ -78,6 +78,16 @@
         }
 
         @Override
+        public void toStart() {
+            index = 0;
+        }
+
+        @Override
+        public void toEnd() {
+            index = length;
+        }
+
+        @Override
         public void insert(T item) {
             if (index < 0
                 || index >= ArrayList.this.length) {

Modified: incubator/pivot/trunk/core/src/org/apache/pivot/collections/LinkedList.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/src/org/apache/pivot/collections/LinkedList.java?rev=812735&r1=812734&r2=812735&view=diff
==============================================================================
--- incubator/pivot/trunk/core/src/org/apache/pivot/collections/LinkedList.java (original)
+++ incubator/pivot/trunk/core/src/org/apache/pivot/collections/LinkedList.java Wed Sep  9 00:17:35 2009
@@ -112,6 +112,20 @@
         }
 
         @Override
+        public void toStart() {
+            index = 0;
+            current = null;
+            forward = true;
+        }
+
+        @Override
+        public void toEnd() {
+            index = length;
+            current = last;
+            forward = true;
+        }
+
+        @Override
         public void insert(T item) {
             Node<T> next = null;
             Node<T> previous = null;

Modified: incubator/pivot/trunk/core/src/org/apache/pivot/collections/List.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/src/org/apache/pivot/collections/List.java?rev=812735&r1=812734&r2=812735&view=diff
==============================================================================
--- incubator/pivot/trunk/core/src/org/apache/pivot/collections/List.java (original)
+++ incubator/pivot/trunk/core/src/org/apache/pivot/collections/List.java Wed Sep  9 00:17:35 2009
@@ -31,6 +31,10 @@
     public interface ItemIterator<T> extends Iterator<T> {
         public boolean hasPrevious();
         public T previous();
+
+        public void toStart();
+        public void toEnd();
+
         public void insert(T item);
         public void update(T item);
     }

Modified: incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/ArrayListTest.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/ArrayListTest.java?rev=812735&r1=812734&r2=812735&view=diff
==============================================================================
--- incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/ArrayListTest.java (original)
+++ incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/ArrayListTest.java Wed Sep  9 00:17:35 2009
@@ -73,6 +73,29 @@
             String s = iterator.previous();
             assertEquals(s, copy.get(--j));
         }
+
+        iterator = list.iterator();
+        assertEquals(iterator.next(), "B");
+        assertEquals(iterator.next(), "E");
+        assertEquals(iterator.previous(), "E");
+        assertEquals(iterator.previous(), "B");
+        assertEquals(iterator.next(), "B");
+
+        iterator = list.iterator();
+        iterator.insert("M");
+
+        assertEquals(list, new ArrayList<String>("M", "B", "E", "D"));
+
+        assertEquals(iterator.next(), "M");
+        iterator.insert("N");
+        assertEquals(list, new ArrayList<String>("M", "N", "B", "E", "D"));
+
+        iterator = list.iterator();
+        iterator.toEnd();
+        assertEquals(iterator.previous(), "D");
+
+        iterator.toStart();
+        assertEquals(iterator.next(), "M");
     }
 
     @Test

Modified: incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/LinkedListTest.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/LinkedListTest.java?rev=812735&r1=812734&r2=812735&view=diff
==============================================================================
--- incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/LinkedListTest.java (original)
+++ incubator/pivot/trunk/core/test/org/apache/pivot/collections/test/LinkedListTest.java Wed Sep  9 00:17:35 2009
@@ -94,6 +94,13 @@
         assertEquals(iterator.next(), "M");
         iterator.insert("N");
         assertEquals(list, new LinkedList<String>("M", "N", "G", "B", "F", "D"));
+
+        iterator = list.iterator();
+        iterator.toEnd();
+        assertEquals(iterator.previous(), "D");
+
+        iterator.toStart();
+        assertEquals(iterator.next(), "M");
     }
 
     @Test