blob: ca470cd3cbd5b223ae459bbd5a9791d7d9ff70ee [file] [log] [blame]
/*
* 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();
}
}
}