KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > db4ounit > jre12 > soda > collections > STHashtableEUTestCase


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