blob: 42bec11a3dfb0025ed8f91205f8a5fcba47c80f0 [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.Hashtable;
import java.util.Set;
import java.util.Enumeration;
/**
* Implements basic performance test functionality for java.util.Hashtable
*/
public class HashtableTest extends PerformanceTestBase {
public static final int ITERATIONS = 1000;
public Hashtable<String, Integer> sTable;
public String[] sKeys;
@Override
@SuppressWarnings("unchecked")
protected void setUp() throws Exception {
super.setUp();
sTable = new Hashtable();
sKeys = new String[ITERATIONS];
for (int i = ITERATIONS - 1; i >= 0; i--) {
sKeys[i] = Integer.toString(i, 16);
sTable.put(sKeys[i], i);
}
}
@Override
public int startPerformance(PerformanceTestCase.Intermediates intermediates) {
intermediates.setInternalIterations(ITERATIONS);
return 0;
}
@SuppressWarnings("unchecked")
public void testHashtablePut() {
Hashtable hTable = new Hashtable();
for (int i = ITERATIONS - 1; i >= 0; i--) {
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
hTable.put(i, i);
}
}
public void testHashtableGet() {
int value;
String[] keys = sKeys;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
value = hTable.get(keys[i]);
}
}
public void testHashtablekeyset() {
Set keyset;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
keyset = hTable.keySet();
}
}
/**
*
*/
public void testHashtableEntrySet() {
Set keyset;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
keyset = hTable.entrySet();
}
}
public void testHashtableSize() {
int len;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
len = hTable.size();
}
}
public void testHashtableContainsValue() {
boolean flag;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
flag = hTable.containsValue(i);
}
}
@SuppressWarnings("unchecked")
public void testHashtableRemove() {
Hashtable<String, Integer> hTable = new Hashtable(sTable);
String[] keys = sKeys;
for (int i = ITERATIONS - 1; i >= 0; i--) {
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
hTable.remove(keys[i]);
}
}
public void testHashtableContains() {
Hashtable<String, Integer> hTable = sTable;
boolean flag;
for (int i = ITERATIONS - 1; i >= 0; i--) {
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
flag = hTable.contains(i);
}
}
public void testHashtableContainsKey() {
Hashtable<String, Integer> hTable = sTable;
boolean flag;
for (int i = ITERATIONS - 1; i >= 0; i--) {
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
flag = hTable.containsKey(i);
}
}
public void testHashtableIsEmpty() {
Hashtable<String, Integer> hTable = sTable;
boolean flag;
for (int i = ITERATIONS - 1; i >= 0; i--) {
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
flag = hTable.isEmpty();
}
}
public void testHashtableKeys() {
Hashtable<String, Integer> hTable = sTable;
Enumeration<String> keys;
for (int i = ITERATIONS - 1; i >= 0; i--) {
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
keys = hTable.keys();
}
}
public void testHashtableElements() {
Hashtable<String, Integer> hTable = sTable;
Enumeration<Integer> elements;
for (int i = ITERATIONS - 1; i >= 0; i--) {
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
elements = hTable.elements();
}
}
public void testHashtableHashCode() {
int index;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
index = hTable.hashCode();
}
}
public void testHashtableEquals() {
boolean flag;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
flag = hTable.equals(hTable);
}
}
public void testHashtableToString() {
String str;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
str = hTable.toString();
}
}
@SuppressWarnings("unchecked")
public void testHashtablePutAll() {
Hashtable<String, Integer> hTable = new Hashtable();
Hashtable<String, Integer> hTable1 = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
hTable.putAll(hTable1);
}
}
/**
*
* clone() returns a Hashtable .. It should return Object as per the
* specification.
*
*/
public void testHashtableClone() {
Hashtable hashTable;
Hashtable<String, Integer> hTable = sTable;
for (int i = ITERATIONS - 1; i >= 0; i--) {
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
hashTable = (Hashtable) hTable.clone();
}
}
}