diff options
Diffstat (limited to 'tests/AndroidTests/src/com/android/unit_tests/HashtableTest.java')
-rw-r--r-- | tests/AndroidTests/src/com/android/unit_tests/HashtableTest.java | 357 |
1 files changed, 357 insertions, 0 deletions
diff --git a/tests/AndroidTests/src/com/android/unit_tests/HashtableTest.java b/tests/AndroidTests/src/com/android/unit_tests/HashtableTest.java new file mode 100644 index 0000000..42bec11 --- /dev/null +++ b/tests/AndroidTests/src/com/android/unit_tests/HashtableTest.java @@ -0,0 +1,357 @@ +/* + * 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(); + } + } +} |