/* * 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.TreeSet; import java.util.SortedSet; import java.util.Iterator; import java.util.Comparator; /** * Implements basic performance test functionality for java.util.TreeSet */ public class TreeSetTest extends PerformanceTestBase { public static final int ITERATIONS = 1000; public static TreeSet<Integer> sSet; @Override protected void setUp() throws Exception { super.setUp(); sSet = new TreeSet<Integer>(); for (int i = ITERATIONS - 1; i >= 0; i--) { sSet.add(i); } } @Override public int startPerformance(PerformanceTestCase.Intermediates intermediates) { intermediates.setInternalIterations(ITERATIONS); return 0; } /** * * Tests performance for the java.util.TreeSet method Add(Object arg 0) * */ @SuppressWarnings("unchecked") public void testTreeSetAdd() { TreeSet<Integer> set = new TreeSet(); for (int i = ITERATIONS - 1; i >= 0; i--) { set.add(i); set.add(i); set.add(i); set.add(i); set.add(i); set.add(i); set.add(i); set.add(i); set.add(i); set.add(i); } } /** * * Tests performance for the java.util.TreeSet method - first() * */ public void testTreeSetFirst() { int value; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { value = set.first(); value = set.first(); value = set.first(); value = set.first(); value = set.first(); value = set.first(); value = set.first(); value = set.first(); value = set.first(); } } /** * * Tests performance for the java.util.TreeSet method - last() * */ public void testTreeSetLast() { int value; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { value = set.last(); value = set.last(); value = set.last(); value = set.last(); value = set.last(); value = set.last(); value = set.last(); value = set.last(); value = set.last(); } } /** * * Tests performance of the java.util.TreeSet method- contains(Object arg0) * */ public void testTreeSetContains() { Integer index = new Integer(500); boolean flag; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); flag = set.contains(index); } } /** * * Tests performance for the java.util.TreeSet method - size() * */ public void testTreeSetSize() { int value; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { value = set.size(); value = set.size(); value = set.size(); value = set.size(); value = set.size(); value = set.size(); value = set.size(); value = set.size(); value = set.size(); } } /** * * Tests performance for the java.util.TreeSet method - iterator() * */ public void testTreeSetIterator() { Iterator iterator; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); iterator = set.iterator(); } } /** * * Tests performance for the java.util.TreeSet method - comparator() * */ public void testTreeSetComparator() { Comparator comparator; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); comparator = set.comparator(); } } /** * * Tests performance for the java.util.TreeSet method - clone() * */ public void testTreeSetClone() { Object obj; TreeSet<Integer> set = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); obj = set.clone(); } } /** * * Tests performance of the java.util.TreeSet method - remove(Object arg0) * */ @SuppressWarnings("unchecked") public void testTreeSetRemove() { TreeSet<Integer> set = new TreeSet(sSet); for (int i = ITERATIONS - 1; i >= 0; i--) { set.remove(i); set.remove(i); set.remove(i); set.remove(i); set.remove(i); set.remove(i); set.remove(i); set.remove(i); set.remove(i); set.remove(i); } } /** * * Tests performance of the java.util.TreeSet method- headSet(Integer arg0) * */ public void testTreeSetHeadSet() { Integer value = new Integer(100); SortedSet set; TreeSet<Integer> tSet = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); set = tSet.headSet(value); } } /** * * Tests performance of subSet(Integer arg0, Integer arg1) - TreeSet * */ public void testTreeSetSubSet() { Integer value = new Integer(400); Integer nInt = new Integer(500); SortedSet set; TreeSet<Integer> tSet = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); set = tSet.subSet(value, nInt); } } /** * * Tests performance of tailSet(Integer arg0) - TreeSet * */ public void testTreeSetTailSet() { Integer value = new Integer(900); SortedSet set; TreeSet<Integer> tSet = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); set = tSet.tailSet(value); } } /** * * Tests performance for the java.util.TreeSet method - isEmpty() * */ public void testTreeSetIsEmpty() { boolean flag; TreeSet<Integer> tSet = sSet; for (int i = ITERATIONS - 1; i >= 0; i--) { flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); flag = tSet.isEmpty(); } } }