diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/FastListTest.java')
-rw-r--r-- | plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/FastListTest.java | 588 |
1 files changed, 294 insertions, 294 deletions
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/FastListTest.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/FastListTest.java index 495f927042..c483bda9c3 100644 --- a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/FastListTest.java +++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/util/tests/FastListTest.java @@ -1,294 +1,294 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- * Caspar De Groot - maintenance
- */
-package org.eclipse.net4j.util.tests;
-
-import org.eclipse.net4j.util.collection.ConcurrentArray;
-
-/**
- * @author Eike Stepper
- * @since 3.1
- */
-public class FastListTest extends AbstractOMTest
-{
- public static void testAddFirst() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
-
- Integer[] result = list.get();
- assertEquals(true, result != null);
- assertEquals(true, result.length == 1);
- assertEquals(true, list.getElements().length == 1);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 1);
- assertEquals(true, list.removed == 0);
- }
-
- public static void testAddSecond() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
- list.add(7);
-
- Integer[] result = list.get();
- assertEquals(true, result != null);
- assertEquals(true, result.length == 2);
- assertEquals(true, list.getElements().length == 2);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 1);
- assertEquals(true, list.removed == 0);
- }
-
- public static void testRemoveHead() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
- list.add(7);
- list.add(2);
- list.add(9);
- list.add(1);
- list.add(4);
- list.add(8);
-
- Integer[] old = list.reset();
- boolean removed = list.remove(5);
-
- Integer[] result = list.get();
- assertEquals(true, removed);
- assertEquals(true, result != null);
- assertEquals(true, result != old);
- assertEquals(true, result.length == 6);
- assertEquals(true, list.getElements().length == 6);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 0);
- assertEquals(true, result[0] == 7);
- assertEquals(true, result[1] == 2);
- assertEquals(true, result[2] == 9);
- assertEquals(true, result[3] == 1);
- assertEquals(true, result[4] == 4);
- assertEquals(true, result[5] == 8);
- }
-
- public static void testRemoveMiddle() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
- list.add(7);
- list.add(2);
- list.add(9);
- list.add(1);
- list.add(4);
- list.add(8);
-
- Integer[] old = list.reset();
- boolean removed = list.remove(9);
-
- Integer[] result = list.get();
- assertEquals(true, removed);
- assertEquals(true, result != null);
- assertEquals(true, result != old);
- assertEquals(true, result.length == 6);
- assertEquals(true, list.getElements().length == 6);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 0);
- assertEquals(true, result[0] == 5);
- assertEquals(true, result[1] == 7);
- assertEquals(true, result[2] == 2);
- assertEquals(true, result[3] == 1);
- assertEquals(true, result[4] == 4);
- assertEquals(true, result[5] == 8);
- }
-
- public void testRemoveMiddleOfThree()
- {
- TestList list = new TestList();
- Integer one = new Integer(1);
- Integer two = new Integer(2);
- Integer three = new Integer(3);
-
- list.add(one);
- list.add(two);
- list.add(three);
-
- list.remove(two);
-
- Integer[] elements = list.get();
- assertSame(one, elements[0]);
- assertSame(three, elements[1]);
- }
-
- public static void testRemoveTail() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
- list.add(7);
- list.add(2);
- list.add(9);
- list.add(1);
- list.add(4);
- list.add(8);
-
- Integer[] old = list.reset();
- boolean removed = list.remove(8);
-
- Integer[] result = list.get();
- assertEquals(true, removed);
- assertEquals(true, result != old);
- assertEquals(true, result != null);
- assertEquals(true, result.length == 6);
- assertEquals(true, list.getElements().length == 6);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 0);
- assertEquals(true, result[0] == 5);
- assertEquals(true, result[1] == 7);
- assertEquals(true, result[2] == 2);
- assertEquals(true, result[3] == 9);
- assertEquals(true, result[4] == 1);
- assertEquals(true, result[5] == 4);
- }
-
- public static void testRemoveLast() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
- list.add(7);
-
- Integer[] old = list.reset();
- boolean removed1 = list.remove(7);
- boolean removed2 = list.remove(5);
-
- Integer[] result = list.get();
- assertEquals(true, removed1);
- assertEquals(true, removed2);
- assertEquals(true, result != old);
- assertEquals(true, result == null);
- assertEquals(true, list.getElements() == null);
- assertEquals(true, list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 1);
- }
-
- public static void testNotFoundInMany() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
- list.add(7);
- list.add(2);
- list.add(9);
- list.add(1);
- list.add(4);
- list.add(8);
-
- Integer[] old = list.reset();
- boolean removed = list.remove(10);
-
- Integer[] result = list.get();
- assertEquals(true, !removed);
- assertEquals(true, result != null);
- assertEquals(true, result == old);
- assertEquals(true, result.length == 7);
- assertEquals(true, list.getElements().length == 7);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 0);
- assertEquals(true, result[0] == 5);
- assertEquals(true, result[1] == 7);
- assertEquals(true, result[2] == 2);
- assertEquals(true, result[3] == 9);
- assertEquals(true, result[4] == 1);
- assertEquals(true, result[5] == 4);
- assertEquals(true, result[6] == 8);
- }
-
- public static void testNotFoundInOne() throws Exception
- {
- TestList list = new TestList();
- list.add(5);
-
- Integer[] old = list.reset();
- boolean removed = list.remove(10);
-
- Integer[] result = list.get();
- assertEquals(true, !removed);
- assertEquals(true, result != null);
- assertEquals(true, result == old);
- assertEquals(true, result.length == 1);
- assertEquals(true, list.getElements().length == 1);
- assertEquals(true, !list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 0);
- assertEquals(true, result[0] == 5);
- }
-
- public static void testNotFoundInEmpty() throws Exception
- {
- TestList list = new TestList();
-
- Integer[] old = list.reset();
- boolean removed = list.remove(10);
-
- Integer[] result = list.get();
- assertEquals(true, !removed);
- assertEquals(true, result == null);
- assertEquals(true, result == old);
- assertEquals(true, list.isEmpty());
- assertEquals(true, list.added == 0);
- assertEquals(true, list.removed == 0);
- }
-
- /**
- * @author Eike Stepper
- */
- public static class TestList extends ConcurrentArray<Integer>
- {
- public int added;
-
- public int removed;
-
- public TestList()
- {
- }
-
- public Integer[] getElements()
- {
- return elements;
- }
-
- public Integer[] reset()
- {
- added = 0;
- removed = 0;
- return elements;
- }
-
- @Override
- protected Integer[] newArray(int length)
- {
- return new Integer[length];
- }
-
- @Override
- protected void firstElementAdded()
- {
- ++added;
- }
-
- @Override
- protected void lastElementRemoved()
- {
- ++removed;
- }
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + * Caspar De Groot - maintenance + */ +package org.eclipse.net4j.util.tests; + +import org.eclipse.net4j.util.collection.ConcurrentArray; + +/** + * @author Eike Stepper + * @since 3.1 + */ +public class FastListTest extends AbstractOMTest +{ + public static void testAddFirst() throws Exception + { + TestList list = new TestList(); + list.add(5); + + Integer[] result = list.get(); + assertEquals(true, result != null); + assertEquals(true, result.length == 1); + assertEquals(true, list.getElements().length == 1); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 1); + assertEquals(true, list.removed == 0); + } + + public static void testAddSecond() throws Exception + { + TestList list = new TestList(); + list.add(5); + list.add(7); + + Integer[] result = list.get(); + assertEquals(true, result != null); + assertEquals(true, result.length == 2); + assertEquals(true, list.getElements().length == 2); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 1); + assertEquals(true, list.removed == 0); + } + + public static void testRemoveHead() throws Exception + { + TestList list = new TestList(); + list.add(5); + list.add(7); + list.add(2); + list.add(9); + list.add(1); + list.add(4); + list.add(8); + + Integer[] old = list.reset(); + boolean removed = list.remove(5); + + Integer[] result = list.get(); + assertEquals(true, removed); + assertEquals(true, result != null); + assertEquals(true, result != old); + assertEquals(true, result.length == 6); + assertEquals(true, list.getElements().length == 6); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 0); + assertEquals(true, result[0] == 7); + assertEquals(true, result[1] == 2); + assertEquals(true, result[2] == 9); + assertEquals(true, result[3] == 1); + assertEquals(true, result[4] == 4); + assertEquals(true, result[5] == 8); + } + + public static void testRemoveMiddle() throws Exception + { + TestList list = new TestList(); + list.add(5); + list.add(7); + list.add(2); + list.add(9); + list.add(1); + list.add(4); + list.add(8); + + Integer[] old = list.reset(); + boolean removed = list.remove(9); + + Integer[] result = list.get(); + assertEquals(true, removed); + assertEquals(true, result != null); + assertEquals(true, result != old); + assertEquals(true, result.length == 6); + assertEquals(true, list.getElements().length == 6); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 0); + assertEquals(true, result[0] == 5); + assertEquals(true, result[1] == 7); + assertEquals(true, result[2] == 2); + assertEquals(true, result[3] == 1); + assertEquals(true, result[4] == 4); + assertEquals(true, result[5] == 8); + } + + public void testRemoveMiddleOfThree() + { + TestList list = new TestList(); + Integer one = new Integer(1); + Integer two = new Integer(2); + Integer three = new Integer(3); + + list.add(one); + list.add(two); + list.add(three); + + list.remove(two); + + Integer[] elements = list.get(); + assertSame(one, elements[0]); + assertSame(three, elements[1]); + } + + public static void testRemoveTail() throws Exception + { + TestList list = new TestList(); + list.add(5); + list.add(7); + list.add(2); + list.add(9); + list.add(1); + list.add(4); + list.add(8); + + Integer[] old = list.reset(); + boolean removed = list.remove(8); + + Integer[] result = list.get(); + assertEquals(true, removed); + assertEquals(true, result != old); + assertEquals(true, result != null); + assertEquals(true, result.length == 6); + assertEquals(true, list.getElements().length == 6); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 0); + assertEquals(true, result[0] == 5); + assertEquals(true, result[1] == 7); + assertEquals(true, result[2] == 2); + assertEquals(true, result[3] == 9); + assertEquals(true, result[4] == 1); + assertEquals(true, result[5] == 4); + } + + public static void testRemoveLast() throws Exception + { + TestList list = new TestList(); + list.add(5); + list.add(7); + + Integer[] old = list.reset(); + boolean removed1 = list.remove(7); + boolean removed2 = list.remove(5); + + Integer[] result = list.get(); + assertEquals(true, removed1); + assertEquals(true, removed2); + assertEquals(true, result != old); + assertEquals(true, result == null); + assertEquals(true, list.getElements() == null); + assertEquals(true, list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 1); + } + + public static void testNotFoundInMany() throws Exception + { + TestList list = new TestList(); + list.add(5); + list.add(7); + list.add(2); + list.add(9); + list.add(1); + list.add(4); + list.add(8); + + Integer[] old = list.reset(); + boolean removed = list.remove(10); + + Integer[] result = list.get(); + assertEquals(true, !removed); + assertEquals(true, result != null); + assertEquals(true, result == old); + assertEquals(true, result.length == 7); + assertEquals(true, list.getElements().length == 7); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 0); + assertEquals(true, result[0] == 5); + assertEquals(true, result[1] == 7); + assertEquals(true, result[2] == 2); + assertEquals(true, result[3] == 9); + assertEquals(true, result[4] == 1); + assertEquals(true, result[5] == 4); + assertEquals(true, result[6] == 8); + } + + public static void testNotFoundInOne() throws Exception + { + TestList list = new TestList(); + list.add(5); + + Integer[] old = list.reset(); + boolean removed = list.remove(10); + + Integer[] result = list.get(); + assertEquals(true, !removed); + assertEquals(true, result != null); + assertEquals(true, result == old); + assertEquals(true, result.length == 1); + assertEquals(true, list.getElements().length == 1); + assertEquals(true, !list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 0); + assertEquals(true, result[0] == 5); + } + + public static void testNotFoundInEmpty() throws Exception + { + TestList list = new TestList(); + + Integer[] old = list.reset(); + boolean removed = list.remove(10); + + Integer[] result = list.get(); + assertEquals(true, !removed); + assertEquals(true, result == null); + assertEquals(true, result == old); + assertEquals(true, list.isEmpty()); + assertEquals(true, list.added == 0); + assertEquals(true, list.removed == 0); + } + + /** + * @author Eike Stepper + */ + public static class TestList extends ConcurrentArray<Integer> + { + public int added; + + public int removed; + + public TestList() + { + } + + public Integer[] getElements() + { + return elements; + } + + public Integer[] reset() + { + added = 0; + removed = 0; + return elements; + } + + @Override + protected Integer[] newArray(int length) + { + return new Integer[length]; + } + + @Override + protected void firstElementAdded() + { + ++added; + } + + @Override + protected void lastElementRemoved() + { + ++removed; + } + } +} |