| /* |
| * Copyright (C) 2007 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.unit_tests; |
| |
| import android.test.PerformanceTestBase; |
| import android.test.PerformanceTestCase; |
| import java.util.LinkedList; |
| import java.util.ListIterator; |
| |
| /** |
| * This class contains performance tests for methods in java.util.LinkedList |
| * |
| */ |
| @SuppressWarnings("unchecked") |
| public class LinkedListTest extends PerformanceTestBase { |
| public static final int ITERATIONS = 1000; |
| LinkedList<Integer> mLinkedList; |
| |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| mLinkedList = new LinkedList(); |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| mLinkedList.add(i); |
| } |
| } |
| |
| @Override |
| public int startPerformance(PerformanceTestCase.Intermediates intermediates) { |
| intermediates.setInternalIterations(ITERATIONS); |
| return 0; |
| } |
| |
| public void testLinkedListAdd() { |
| LinkedList<Integer> list = new LinkedList(); |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| list.add(i); |
| } |
| } |
| |
| public void testLinkedListAdd1() { |
| LinkedList<Integer> list = new LinkedList(); |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| list.add(0, i); |
| } |
| } |
| |
| public void testLinkedListToArray() { |
| Object array; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| array = list.toArray(); |
| } |
| } |
| |
| public void testLinkedListSize() { |
| LinkedList<Integer> list = mLinkedList; |
| int len; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| len = list.size(); |
| } |
| } |
| |
| public void testLinkedListGet() { |
| int element; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| element = list.get(i); |
| } |
| } |
| |
| public void testLinkedListContains() { |
| boolean flag; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| flag = list.contains(i); |
| } |
| } |
| |
| public void testLinkedListToArray1() { |
| Integer[] rArray = new Integer[100]; |
| Integer[] array; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| array = list.toArray(rArray); |
| } |
| } |
| |
| public void testLinkedListSet() { |
| LinkedList<Integer> list = mLinkedList; |
| int value1 = 500, value2 = 0; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| list.set(value1, value2); |
| } |
| } |
| |
| public void testLinkedListIndexOf() { |
| int index; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| index = list.indexOf(0); |
| |
| } |
| } |
| |
| public void testLinkedListLastIndexOf() { |
| int index; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| index = list.lastIndexOf(0); |
| } |
| } |
| |
| public void testLinkedListRemove() { |
| int index; |
| LinkedList<Integer> list = new LinkedList(mLinkedList); |
| for (int i = 10; i > 0; i--) { |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| index = list.remove(); |
| } |
| } |
| |
| public void testLinkedListRemove1() { |
| int index; |
| LinkedList<Integer> list = new LinkedList(mLinkedList); |
| for (int i = 10; i > 0; i--) { |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| index = list.remove(0); |
| } |
| } |
| |
| public void testLinkedListRemoveFirst() { |
| int index; |
| LinkedList<Integer> list = new LinkedList(mLinkedList); |
| for (int i = 10; i > 0; i--) { |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| index = list.removeFirst(); |
| } |
| } |
| |
| public void testLinkedListRemoveLast() { |
| int index; |
| LinkedList<Integer> list = new LinkedList(mLinkedList); |
| for (int i = 10; i > 0; i--) { |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| index = list.removeLast(); |
| } |
| } |
| |
| public void testLinkedListAddAll() { |
| LinkedList<Integer> mList = mLinkedList; |
| boolean flag; |
| LinkedList<Integer> list = new LinkedList(); |
| for (int i = 10; i > 0; i--) { |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| flag = list.addAll(mList); |
| } |
| } |
| |
| public void testLinkedListRemove2() { |
| LinkedList<String> list; |
| String s = new String("a"); |
| list = new LinkedList(); |
| for (int j = 1000; j > 0; j--) { |
| list.add("a"); |
| list.add("b"); |
| } |
| boolean flag; |
| for (int i = 10; i > 0; i--) { |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| flag = list.remove(s); |
| } |
| } |
| |
| public void testLinkedListAddAll1() { |
| LinkedList<Integer> mList = new LinkedList(); |
| int pos = 0; |
| boolean flag; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = 0; i < 10; i++) { |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| flag = mList.addAll(pos, list); |
| } |
| } |
| |
| public void testLinkedListClone() { |
| Object rObj; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = 100; i > 0; i--) { |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| rObj = list.clone(); |
| } |
| } |
| |
| public void testLinkedListHashcode() { |
| int element; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| element = list.hashCode(); |
| } |
| } |
| |
| public void testLinkedListElement() { |
| int element; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| element = list.element(); |
| } |
| } |
| |
| public void testLinkedListToString() { |
| String str; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| str = list.toString(); |
| } |
| } |
| |
| public void testLinkedListIsEmpty() { |
| boolean flag; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| flag = list.isEmpty(); |
| } |
| } |
| |
| public void testLinkedListOffer() { |
| LinkedList<Integer> list = new LinkedList(); |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| list.offer(i); |
| } |
| } |
| |
| public void testLinkedListPeek() { |
| int element; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| element = list.peek(); |
| } |
| } |
| |
| public void testLinkedListPoll() { |
| int element; |
| LinkedList<Integer> list = new LinkedList(mLinkedList); |
| for (int i = 10; i > 0; i--) { |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| element = list.poll(); |
| } |
| } |
| |
| public void testLinkedListAddLast() { |
| LinkedList<Integer> list = new LinkedList(); |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| list.addLast(i); |
| } |
| } |
| |
| public void testLinkedListAddFirst() { |
| LinkedList<Integer> list = new LinkedList(); |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| list.addFirst(i); |
| } |
| } |
| |
| public void testLinkedListIterator() { |
| ListIterator iterator; |
| LinkedList<Integer> list = mLinkedList; |
| for (int i = ITERATIONS - 1; i >= 0; i--) { |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| iterator = list.listIterator(); |
| } |
| } |
| } |