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