1 21 package com.db4o.test.types; 22 23 import java.util.*; 24 25 import com.db4o.*; 26 import com.db4o.foundation.*; 27 import com.db4o.test.*; 28 29 30 public class RHashtable implements RTestable{ 31 32 public Object newInstance(){ 33 return new Hashtable(); 34 } 35 36 public Object set(Object obj, int ver){ 37 TEntry[] arr = new TEntry().test(ver); 38 Hashtable ht = (Hashtable)obj; 39 ht.clear(); 40 for(int i = 0; i < arr.length; i ++){ 41 ht.put(arr[i].key, arr[i].value); 42 } 43 return obj; 44 } 45 46 public void compare(ObjectContainer con, Object obj, int ver){ 47 Hashtable ht = (Hashtable)obj; 48 TEntry[] entries = new TEntry[ht.size()]; 49 Enumeration enu = ht.keys(); 50 int i = 0; 51 while(enu.hasMoreElements()){ 52 entries[i] = new TEntry(); 53 entries[i].key = enu.nextElement(); 54 i++; 55 } 56 for(i = 0; i < entries.length; i ++){ 57 entries[i].value = ht.get(entries[i].key); 58 } 59 new TEntry().compare(entries, ver, false); 60 } 61 62 public void specific(ObjectContainer con, int step){ 63 TEntry entry = new TEntry().firstElement(); 64 Hashtable ht = (Hashtable)newInstance(); 65 if(step > 0){ 66 ht.put(entry.key, entry.value); 67 ObjectSet set = con.get(ht); 68 Collection4 col = new Collection4(); 69 while(set.hasNext()){ 70 Object obj = set.next(); 71 if(obj.getClass() == ht.getClass()){ 72 col.add(obj); 73 } 74 } 75 if(col.size() != step){ 76 Regression.addError("Hashtable member query not found"); 77 } 78 } 79 entry = new TEntry().noElement(); 80 ht.put(entry.key, entry.value); 81 if(con.get(ht).size() != 0){ 82 Regression.addError("Hashtable member query found too many"); 83 } 84 } 85 86 87 public boolean jdk2(){ 88 return false; 89 } 90 91 public boolean ver3(){ 92 return false; 93 } 94 95 } 96 | Popular Tags |