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