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