1 21 package com.db4o.test.legacy.soda.collections; 22 23 import java.util.*; 24 25 import com.db4o.query.*; 26 import com.db4o.test.legacy.soda.*; 27 28 public class STHashtableET implements STClass { 29 30 public static class ExtendHashtable extends Hashtable{ 31 32 } 33 34 public static transient SodaTest st; 35 36 ExtendHashtable col; 37 38 public STHashtableET() { 39 } 40 41 public STHashtableET(Object [] arr) { 42 col = new ExtendHashtable(); 43 for (int i = 0; i < arr.length; i++) { 44 col.put(arr[i], new Integer (i)); 45 } 46 } 47 48 public Object [] store() { 49 return new Object [] { 50 new STHashtableET(), 51 new STHashtableET(new Object [0]), 52 new STHashtableET(new Object [] { new Integer (0), new Integer (0)}), 53 new STHashtableET( 54 new Object [] { 55 new Integer (1), 56 new Integer (17), 57 new Integer (Integer.MAX_VALUE - 1)}), 58 new STHashtableET( 59 new Object [] { 60 new Integer (3), 61 new Integer (17), 62 new Integer (25), 63 new Integer (Integer.MAX_VALUE - 2)}), 64 new STHashtableET(new Object [] { "foo", new STElement("bar", "barbar")}), 65 new STHashtableET(new Object [] { "foo2", new STElement("bar", "barbar2")}) 66 }; 67 } 68 69 public void testDefaultContainsInteger() { 70 Query q = st.query(); 71 Object [] r = store(); 72 q.constrain(new STHashtableET(new Object [] { new Integer (17)})); 73 st.expect(q, new Object [] { r[3], r[4] }); 74 } 75 76 public void testDefaultContainsString() { 77 Query q = st.query(); 78 Object [] r = store(); 79 q.constrain(new STHashtableET(new Object [] { "foo" })); 80 st.expect(q, new Object [] { r[5] }); 81 } 82 83 public void testDefaultContainsTwo() { 84 Query q = st.query(); 85 Object [] r = store(); 86 q.constrain(new STHashtableET(new Object [] { new Integer (17), new Integer (25)})); 87 st.expect(q, new Object [] { r[4] }); 88 } 89 90 public void testDescendOne() { 91 Query q = st.query(); 92 Object [] r = store(); 93 q.constrain(STHashtableET.class); 94 q.descend("col").constrain(new Integer (17)); 95 st.expect(q, new Object [] { r[3], r[4] }); 96 } 97 98 public void testDescendTwo() { 99 Query q = st.query(); 100 Object [] r = store(); 101 q.constrain(STHashtableET.class); 102 Query qElements = q.descend("col"); 103 qElements.constrain(new Integer (17)); 104 qElements.constrain(new Integer (25)); 105 st.expect(q, new Object [] { r[4] }); 106 } 107 108 public void testDescendSmaller() { 109 Query q = st.query(); 110 Object [] r = store(); 111 q.constrain(STHashtableET.class); 112 Query qElements = q.descend("col"); 113 qElements.constrain(new Integer (3)).smaller(); 114 st.expect(q, new Object [] { r[2], r[3] }); 115 } 116 117 public void testDefaultContainsObject() { 118 Query q = st.query(); 119 Object [] r = store(); 120 q.constrain(new STHashtableET(new Object [] { new STElement("bar", null)})); 121 st.expect(q, new Object [] { r[5], r[6] }); 122 } 123 124 public void testDescendToObject() { 125 Query q = st.query(); 126 Object [] r = store(); 127 q.constrain(new STHashtableET()); 128 q.descend("col").descend("foo1").constrain("bar"); 129 st.expect(q, new Object [] { r[5], r[6] }); 130 } 131 132 } | Popular Tags |