KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > test > legacy > soda > collections > STHashtableT


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10 Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11 Suite 350, San Mateo, CA 94403, USA.
12
13 db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */

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