KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > test > legacy > soda > arrays > untyped > STArrMixedN


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.arrays.untyped;
22
23 import com.db4o.query.*;
24 import com.db4o.test.legacy.soda.*;
25
26 public class STArrMixedN implements STClass {
27
28     public static transient SodaTest st;
29     
30     Object JavaDoc[][][] arr;
31
32     public STArrMixedN() {
33     }
34
35     public STArrMixedN(Object JavaDoc[][][] arr) {
36         this.arr = arr;
37     }
38
39     public Object JavaDoc[] store() {
40         STArrMixedN[] arrMixed = new STArrMixedN[5];
41         
42         arrMixed[0] = new STArrMixedN();
43         
44         Object JavaDoc[][][] content = new Object JavaDoc[1][1][2];
45         arrMixed[1] = new STArrMixedN(content);
46         
47         content = new Object JavaDoc[2][2][3];
48         arrMixed[2] = new STArrMixedN(content);
49         
50         content = new Object JavaDoc[2][2][3];
51         content[0][0][1] = "foo";
52         content[0][1][0] = "bar";
53         content[0][1][2] = "fly";
54         content[1][0][0] = new Boolean JavaDoc(false);
55         arrMixed[3] = new STArrMixedN(content);
56         
57         content = new Object JavaDoc[2][2][3];
58         content[0][0][0] = "bar";
59         content[0][1][0] = "wohay";
60         content[0][1][1] = "johy";
61         content[1][0][0] = new Integer JavaDoc(12);
62         arrMixed[4] = new STArrMixedN(content);
63         
64         Object JavaDoc[] ret = new Object JavaDoc[arrMixed.length];
65         System.arraycopy(arrMixed, 0, ret, 0, arrMixed.length);
66         return ret;
67     }
68
69     public void testDefaultContainsString() {
70         Query q = st.query();
71         Object JavaDoc[] r = store();
72         Object JavaDoc[][][] content = new Object JavaDoc[1][1][1];
73         content[0][0][0] = "bar";
74         q.constrain(new STArrMixedN(content));
75         st.expect(q, new Object JavaDoc[] { r[3], r[4] });
76     }
77     
78     public void testDefaultContainsInteger() {
79         Query q = st.query();
80         Object JavaDoc[] r = store();
81         Object JavaDoc[][][] content = new Object JavaDoc[1][1][1];
82         content[0][0][0] = new Integer JavaDoc(12);
83         q.constrain(new STArrMixedN(content));
84         st.expect(q, new Object JavaDoc[] { r[4] });
85     }
86     
87     public void testDefaultContainsBoolean() {
88         Query q = st.query();
89         Object JavaDoc[] r = store();
90         Object JavaDoc[][][] content = new Object JavaDoc[1][1][1];
91         content[0][0][0] = new Boolean JavaDoc(false);
92         q.constrain(new STArrMixedN(content));
93         st.expect(q, new Object JavaDoc[] { r[3] });
94     }
95
96     public void testDefaultContainsTwo() {
97         Query q = st.query();
98         Object JavaDoc[] r = store();
99         Object JavaDoc[][][] content = new Object JavaDoc[2][1][1];
100         content[0][0][0] = "bar";
101         content[1][0][0] = new Integer JavaDoc(12);
102         q.constrain(new STArrMixedN(content));
103         st.expect(q, new Object JavaDoc[] { r[4] });
104     }
105
106     public void testDescendOne() {
107         Query q = st.query();
108         Object JavaDoc[] r = store();
109         q.constrain(STArrMixedN.class);
110         q.descend("arr").constrain("bar");
111         st.expect(q, new Object JavaDoc[] { r[3], r[4] });
112     }
113
114     public void testDescendTwo() {
115         Query q = st.query();
116         Object JavaDoc[] r = store();
117         q.constrain(STArrMixedN.class);
118         Query qElements = q.descend("arr");
119         qElements.constrain("foo");
120         qElements.constrain("bar");
121         st.expect(q, new Object JavaDoc[] { r[3] });
122     }
123
124     public void testDescendOneNot() {
125         Query q = st.query();
126         Object JavaDoc[] r = store();
127         q.constrain(STArrMixedN.class);
128         q.descend("arr").constrain("bar").not();
129         st.expect(q, new Object JavaDoc[] { r[0], r[1], r[2] });
130     }
131
132     public void testDescendTwoNot() {
133         Query q = st.query();
134         Object JavaDoc[] r = store();
135         q.constrain(STArrMixedN.class);
136         Query qElements = q.descend("arr");
137         qElements.constrain("foo").not();
138         qElements.constrain("bar").not();
139         st.expect(q, new Object JavaDoc[] { r[0], r[1], r[2] });
140     }
141
142 }
143
Popular Tags