Home | History | Annotate | Download | only in core
      1 /*
      2  * Copyright (C) 2007 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package android.core;
     18 
     19 import android.test.PerformanceTestBase;
     20 import android.test.PerformanceTestCase;
     21 
     22 import java.util.Vector;
     23 import java.util.Enumeration;
     24 
     25 /**
     26  * Basic Performance Tests for java.util.Vector
     27  */
     28 
     29 @SuppressWarnings("unchecked")
     30 public class VectorTest extends PerformanceTestBase {
     31     public static final int ITERATIONS = 1000;
     32     private Vector<Integer> mVector;
     33     private Vector<String> mStrVector;
     34     private String mTestString = "Hello Android";
     35 
     36     @Override
     37     protected void setUp() throws Exception {
     38         super.setUp();
     39         mVector = new Vector();
     40         mStrVector = new Vector();
     41         for (int i = ITERATIONS - 1; i >= 0; i--) {
     42             assertTrue(mVector.add(i));
     43             assertTrue(mStrVector.add(Integer.toString(i)));
     44         }
     45     }
     46 
     47     @Override
     48     public int startPerformance(PerformanceTestCase.Intermediates intermediates) {
     49         intermediates.setInternalIterations(ITERATIONS);
     50         return 0;
     51     }
     52 
     53     public void testVectorAdd() {
     54         Vector<Integer> vector = new Vector();
     55         for (int i = ITERATIONS - 1; i >= 0; i--) {
     56             vector.add(i);
     57             vector.add(i);
     58             vector.add(i);
     59             vector.add(i);
     60             vector.add(i);
     61             vector.add(i);
     62             vector.add(i);
     63             vector.add(i);
     64             vector.add(i);
     65             vector.add(i);
     66         }
     67     }
     68 
     69     public void testVectorAdd1() {
     70         Vector<Integer> vector = new Vector();
     71         for (int i = ITERATIONS - 1; i >= 0; i--) {
     72             vector.add(0, i);
     73             vector.add(0, i);
     74             vector.add(0, i);
     75             vector.add(0, i);
     76             vector.add(0, i);
     77             vector.add(0, i);
     78             vector.add(0, i);
     79             vector.add(0, i);
     80             vector.add(0, i);
     81             vector.add(0, i);
     82         }
     83     }
     84 
     85     public void testVectorToArray() {
     86         Object array;
     87         Vector<Integer> vector = mVector;
     88         for (int i = ITERATIONS - 1; i >= 0; i--) {
     89             array = vector.toArray();
     90             array = vector.toArray();
     91             array = vector.toArray();
     92             array = vector.toArray();
     93             array = vector.toArray();
     94             array = vector.toArray();
     95             array = vector.toArray();
     96             array = vector.toArray();
     97             array = vector.toArray();
     98             array = vector.toArray();
     99         }
    100     }
    101 
    102     /**
    103      *
    104      */
    105     public void testVectorSize() {
    106         Vector<Integer> vector = mVector;
    107         for (int i = ITERATIONS - 1; i >= 0; i--) {
    108             int mLen;
    109             mLen = vector.size();
    110             mLen = vector.size();
    111             mLen = vector.size();
    112             mLen = vector.size();
    113             mLen = vector.size();
    114             mLen = vector.size();
    115             mLen = vector.size();
    116             mLen = vector.size();
    117             mLen = vector.size();
    118             mLen = vector.size();
    119         }
    120     }
    121 
    122     public void testVectorGet() {
    123         int element;
    124         Vector<Integer> vector = mVector;
    125         for (int i = ITERATIONS - 1; i >= 0; i--) {
    126             element = vector.get(i);
    127             element = vector.get(i);
    128             element = vector.get(i);
    129             element = vector.get(i);
    130             element = vector.get(i);
    131             element = vector.get(i);
    132             element = vector.get(i);
    133             element = vector.get(i);
    134             element = vector.get(i);
    135             element = vector.get(i);
    136         }
    137 
    138     }
    139 
    140     public void testVectorContains() {
    141         boolean flag;
    142         Vector<Integer> vector = mVector;
    143         for (int i = ITERATIONS - 1; i >= 0; i--) {
    144             flag = vector.contains(i);
    145             flag = vector.contains(i);
    146             flag = vector.contains(i);
    147             flag = vector.contains(i);
    148             flag = vector.contains(i);
    149             flag = vector.contains(i);
    150             flag = vector.contains(i);
    151             flag = vector.contains(i);
    152             flag = vector.contains(i);
    153             flag = vector.contains(i);
    154         }
    155     }
    156 
    157     public void testVectorToArray1() {
    158         Integer[] rArray = new Integer[100];
    159         Integer[] array;
    160         Vector<Integer> vector = mVector;
    161         for (int i = ITERATIONS - 1; i >= 0; i--) {
    162             array = vector.toArray(rArray);
    163             array = vector.toArray(rArray);
    164             array = vector.toArray(rArray);
    165             array = vector.toArray(rArray);
    166             array = vector.toArray(rArray);
    167             array = vector.toArray(rArray);
    168             array = vector.toArray(rArray);
    169             array = vector.toArray(rArray);
    170             array = vector.toArray(rArray);
    171             array = vector.toArray(rArray);
    172         }
    173     }
    174 
    175     public void testVectorSet() {
    176         Vector<Integer> vector = mVector;
    177         int pos = 5, value = 0;
    178         for (int i = ITERATIONS - 1; i >= 0; i--) {
    179             vector.set(pos, value);
    180             vector.set(pos, value);
    181             vector.set(pos, value);
    182             vector.set(pos, value);
    183             vector.set(pos, value);
    184             vector.set(pos, value);
    185             vector.set(pos, value);
    186             vector.set(pos, value);
    187             vector.set(pos, value);
    188             vector.set(pos, value);
    189         }
    190     }
    191 
    192     public void testVectorIndexOf() {
    193         int index, value = 0;
    194         Vector<Integer> vector = mVector;
    195         for (int i = ITERATIONS - 1; i >= 0; i--) {
    196             index = vector.indexOf(value);
    197             index = vector.indexOf(value);
    198             index = vector.indexOf(value);
    199             index = vector.indexOf(value);
    200             index = vector.indexOf(value);
    201             index = vector.indexOf(value);
    202             index = vector.indexOf(value);
    203             index = vector.indexOf(value);
    204             index = vector.indexOf(value);
    205             index = vector.indexOf(value);
    206         }
    207     }
    208 
    209     public void testVectorLastIndexOf() {
    210         int index, value = 0;
    211         Vector<Integer> vector = mVector;
    212         for (int i = ITERATIONS - 1; i >= 0; i--) {
    213             index = vector.lastIndexOf(value);
    214             index = vector.lastIndexOf(value);
    215             index = vector.lastIndexOf(value);
    216             index = vector.lastIndexOf(value);
    217             index = vector.lastIndexOf(value);
    218             index = vector.lastIndexOf(value);
    219             index = vector.lastIndexOf(value);
    220             index = vector.lastIndexOf(value);
    221             index = vector.lastIndexOf(value);
    222             index = vector.lastIndexOf(value);
    223         }
    224     }
    225 
    226     public void testVectorRemove() {
    227         int index, value = 0;
    228         Vector<Integer> vector = new Vector(mVector);
    229         for (int i = 10; i > 0; i--) {
    230             index = vector.remove(value);
    231             index = vector.remove(value);
    232             index = vector.remove(value);
    233             index = vector.remove(value);
    234             index = vector.remove(value);
    235             index = vector.remove(value);
    236             index = vector.remove(value);
    237             index = vector.remove(value);
    238             index = vector.remove(value);
    239             index = vector.remove(value);
    240         }
    241     }
    242 
    243     public void testVectorRemoveElement() {
    244         Vector<Integer> vector = new Vector(mVector);
    245         for (int i = 10; i > 0; i--) {
    246             vector.removeElement(i);
    247             vector.removeElement(i);
    248             vector.removeElement(i);
    249             vector.removeElement(i);
    250             vector.removeElement(i);
    251             vector.removeElement(i);
    252             vector.removeElement(i);
    253             vector.removeElement(i);
    254             vector.removeElement(i);
    255             vector.removeElement(i);
    256         }
    257     }
    258 
    259     public void VectorRemoveElementAt() {
    260         Vector<Integer> vector = new Vector(mVector);
    261         for (int i = 10; i > 0; i--) {
    262             vector.removeElementAt(i);
    263             vector.removeElementAt(i);
    264             vector.removeElementAt(i);
    265             vector.removeElementAt(i);
    266             vector.removeElementAt(i);
    267             vector.removeElementAt(i);
    268             vector.removeElementAt(i);
    269             vector.removeElementAt(i);
    270             vector.removeElementAt(i);
    271             vector.removeElementAt(i);
    272         }
    273     }
    274 
    275     public void VectorAddAll() {
    276         Vector<Integer> vector = new Vector(), vector1 = mVector;
    277 
    278         boolean flag;
    279         for (int i = 10; i > 0; i--) {
    280             flag = vector.addAll(vector1);
    281             flag = vector.addAll(vector1);
    282             flag = vector.addAll(vector1);
    283             flag = vector.addAll(vector1);
    284             flag = vector.addAll(vector1);
    285             flag = vector.addAll(vector1);
    286             flag = vector.addAll(vector1);
    287             flag = vector.addAll(vector1);
    288             flag = vector.addAll(vector1);
    289             flag = vector.addAll(vector1);
    290         }
    291     }
    292 
    293     public void VectorRemove1() {
    294         Vector<String> vector = mStrVector;
    295         for (int j = 1000; j > 0; j--) {
    296             vector.add("a");
    297             vector.add("b");
    298         }
    299         String s = new String("a");
    300         boolean flag;
    301         for (int i = 10; i > 0; i--) {
    302             flag = vector.remove(s);
    303             flag = vector.remove(s);
    304             flag = vector.remove(s);
    305             flag = vector.remove(s);
    306             flag = vector.remove(s);
    307             flag = vector.remove(s);
    308             flag = vector.remove(s);
    309             flag = vector.remove(s);
    310             flag = vector.remove(s);
    311             flag = vector.remove(s);
    312         }
    313     }
    314 
    315     public void testVectorAddAll1() {
    316         Vector<Integer> mEmptyVector = new Vector();
    317         boolean flag;
    318         int pos = 0;
    319         Vector<Integer> vector1 = mVector;
    320         Vector<Integer> vector = mEmptyVector;
    321         for (int i = 10; i > 0; i--) {
    322             flag = vector.addAll(pos, vector1);
    323             flag = vector.addAll(pos, vector1);
    324             flag = vector.addAll(pos, vector1);
    325             flag = vector.addAll(pos, vector1);
    326             flag = vector.addAll(pos, vector1);
    327             flag = vector.addAll(pos, vector1);
    328             flag = vector.addAll(pos, vector1);
    329             flag = vector.addAll(pos, vector1);
    330             flag = vector.addAll(pos, vector1);
    331             flag = vector.addAll(pos, vector1);
    332         }
    333     }
    334 
    335     public void testVectorClone() {
    336         Object obj;
    337         Vector<Integer> vector = mVector;
    338         for (int i = ITERATIONS - 1; i > 0; i--) {
    339             obj = vector.clone();
    340             obj = vector.clone();
    341             obj = vector.clone();
    342             obj = vector.clone();
    343             obj = vector.clone();
    344             obj = vector.clone();
    345             obj = vector.clone();
    346             obj = vector.clone();
    347             obj = vector.clone();
    348             obj = vector.clone();
    349         }
    350     }
    351 
    352     public void testVectorCapacity() {
    353         int capacity;
    354         Vector<Integer> vector = mVector;
    355         for (int i = ITERATIONS - 1; i > 0; i--) {
    356             capacity = vector.capacity();
    357             capacity = vector.capacity();
    358             capacity = vector.capacity();
    359             capacity = vector.capacity();
    360             capacity = vector.capacity();
    361             capacity = vector.capacity();
    362             capacity = vector.capacity();
    363             capacity = vector.capacity();
    364             capacity = vector.capacity();
    365             capacity = vector.capacity();
    366         }
    367     }
    368 
    369     public void testVectorHashcode() {
    370         int element;
    371         Vector<Integer> vector = mVector;
    372         for (int i = ITERATIONS - 1; i > 0; i--) {
    373             element = vector.hashCode();
    374             element = vector.hashCode();
    375             element = vector.hashCode();
    376             element = vector.hashCode();
    377             element = vector.hashCode();
    378             element = vector.hashCode();
    379             element = vector.hashCode();
    380             element = vector.hashCode();
    381             element = vector.hashCode();
    382             element = vector.hashCode();
    383         }
    384     }
    385 
    386     public void testVectorElements() {
    387         Enumeration<Integer> elements;
    388         Vector<Integer> vector = mVector;
    389         for (int i = ITERATIONS - 1; i > 0; i--) {
    390             elements = vector.elements();
    391             elements = vector.elements();
    392             elements = vector.elements();
    393             elements = vector.elements();
    394             elements = vector.elements();
    395             elements = vector.elements();
    396             elements = vector.elements();
    397             elements = vector.elements();
    398             elements = vector.elements();
    399             elements = vector.elements();
    400         }
    401     }
    402 
    403     public void testVectorToString() {
    404         String str;
    405         Vector<Integer> vector = mVector;
    406         for (int i = ITERATIONS - 1; i > 0; i--) {
    407             str = vector.toString();
    408             str = vector.toString();
    409             str = vector.toString();
    410             str = vector.toString();
    411             str = vector.toString();
    412             str = vector.toString();
    413             str = vector.toString();
    414             str = vector.toString();
    415             str = vector.toString();
    416             str = vector.toString();
    417         }
    418     }
    419 
    420     public void testVectorElementAt() {
    421         int element;
    422         Vector<Integer> vector = mVector;
    423         for (int i = ITERATIONS - 1; i > 0; i--) {
    424             element = vector.elementAt(50);
    425             element = vector.elementAt(50);
    426             element = vector.elementAt(50);
    427             element = vector.elementAt(50);
    428             element = vector.elementAt(50);
    429             element = vector.elementAt(50);
    430             element = vector.elementAt(50);
    431             element = vector.elementAt(50);
    432             element = vector.elementAt(50);
    433             element = vector.elementAt(50);
    434         }
    435     }
    436 
    437     public void testVectorAddElement() {
    438         int element;
    439         Vector<String> vector = mStrVector;
    440         for (int i = ITERATIONS - 1; i > 0; i--) {
    441             vector.addElement(mTestString);
    442             vector.addElement(mTestString);
    443             vector.addElement(mTestString);
    444             vector.addElement(mTestString);
    445             vector.addElement(mTestString);
    446             vector.addElement(mTestString);
    447             vector.addElement(mTestString);
    448             vector.addElement(mTestString);
    449             vector.addElement(mTestString);
    450             vector.addElement(mTestString);
    451         }
    452     }
    453 
    454     public void testVectorFirstElement() {
    455         int element;
    456         Vector<Integer> vector = mVector;
    457         for (int i = ITERATIONS - 1; i > 0; i--) {
    458             element = vector.firstElement();
    459             element = vector.firstElement();
    460             element = vector.firstElement();
    461             element = vector.firstElement();
    462             element = vector.firstElement();
    463             element = vector.firstElement();
    464             element = vector.firstElement();
    465             element = vector.firstElement();
    466             element = vector.firstElement();
    467             element = vector.firstElement();
    468         }
    469     }
    470 
    471     public void testVectorLastElement() {
    472         int element;
    473         Vector<Integer> vector = mVector;
    474         for (int i = ITERATIONS - 1; i > 0; i--) {
    475             element = vector.lastElement();
    476             element = vector.lastElement();
    477             element = vector.lastElement();
    478             element = vector.lastElement();
    479             element = vector.lastElement();
    480             element = vector.lastElement();
    481             element = vector.lastElement();
    482             element = vector.lastElement();
    483             element = vector.lastElement();
    484             element = vector.lastElement();
    485         }
    486     }
    487 
    488     public void testVectorSetElementAt() {
    489         Vector<Integer> vector = mVector;
    490         int value1 = 500, value2 = 50;
    491         for (int i = ITERATIONS - 1; i > 0; i--) {
    492             vector.setElementAt(value1, value2);
    493             vector.setElementAt(value1, value2);
    494             vector.setElementAt(value1, value2);
    495             vector.setElementAt(value1, value2);
    496             vector.setElementAt(value1, value2);
    497             vector.setElementAt(value1, value2);
    498             vector.setElementAt(value1, value2);
    499             vector.setElementAt(value1, value2);
    500             vector.setElementAt(value1, value2);
    501             vector.setElementAt(value1, value2);
    502         }
    503     }
    504 
    505     public void testVectorIsEmpty() {
    506         boolean flag;
    507         Vector<Integer> vector = mVector;
    508         for (int i = ITERATIONS - 1; i > 0; i--) {
    509             flag = vector.isEmpty();
    510             flag = vector.isEmpty();
    511             flag = vector.isEmpty();
    512             flag = vector.isEmpty();
    513             flag = vector.isEmpty();
    514             flag = vector.isEmpty();
    515             flag = vector.isEmpty();
    516             flag = vector.isEmpty();
    517             flag = vector.isEmpty();
    518             flag = vector.isEmpty();
    519         }
    520     }
    521 
    522     public void testVectorCopyInto() {
    523         Integer[] rArray = new Integer[ITERATIONS];
    524         Vector<Integer> vector = mVector;
    525         for (int i = ITERATIONS - 1; i > 0; i--) {
    526             vector.copyInto(rArray);
    527             vector.copyInto(rArray);
    528             vector.copyInto(rArray);
    529             vector.copyInto(rArray);
    530             vector.copyInto(rArray);
    531             vector.copyInto(rArray);
    532             vector.copyInto(rArray);
    533             vector.copyInto(rArray);
    534             vector.copyInto(rArray);
    535             vector.copyInto(rArray);
    536         }
    537     }
    538 
    539     public void testVectorInsertElementAt() {
    540         Vector<String> vector = mStrVector;
    541         String string = mTestString;
    542         for (int i = ITERATIONS - 1; i > 0; i--) {
    543             vector.insertElementAt(string, i);
    544             vector.insertElementAt(string, i);
    545             vector.insertElementAt(string, i);
    546             vector.insertElementAt(string, i);
    547             vector.insertElementAt(string, i);
    548             vector.insertElementAt(string, i);
    549             vector.insertElementAt(string, i);
    550             vector.insertElementAt(string, i);
    551             vector.insertElementAt(string, i);
    552             vector.insertElementAt(string, i);
    553         }
    554     }
    555 }
    556