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