01: /* Copyright (C) 2004 - 2007 db4objects Inc. http://www.db4o.com
02:
03: This file is part of the db4o open source object database.
04:
05: db4o is free software; you can redistribute it and/or modify it under
06: the terms of version 2 of the GNU General Public License as published
07: by the Free Software Foundation and as clarified by db4objects' GPL
08: interpretation policy, available at
09: 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: import com.db4o.test.legacy.soda.collections.*;
28:
29: public class STVectorED implements STClass {
30:
31: public static transient SodaTest st;
32:
33: public static class ExtendVector extends Vector {
34: }
35:
36: protected ExtendVector vec(Object[] objects) {
37: ExtendVector v = new ExtendVector();
38: for (int i = 0; i < objects.length; i++) {
39: v.add(objects[i]);
40: }
41: return v;
42: }
43:
44: public Object[] store() {
45: return new Object[] {
46: vec(new Object[] { new Integer(8778), new Integer(8779) }),
47: vec(new Object[] { new Integer(8778), new Integer(8789) }),
48: vec(new Object[] { "foo877",
49: new STElement("bar877", "barbar877") }),
50: vec(new Object[] { "foo8772",
51: new STElement("bar877", "barbar2877") }) };
52: }
53:
54: public void testDefaultContainsInteger() {
55: Query q = st.query();
56: Object[] r = store();
57: q.constrain(vec(new Object[] { new Integer(8778) }));
58: st.expect(q, new Object[] { r[0], r[1] });
59: }
60:
61: public void testDefaultContainsString() {
62: Query q = st.query();
63: Object[] r = store();
64: q.constrain(vec(new Object[] { "foo877" }));
65: st.expect(q, new Object[] { r[2] });
66: }
67:
68: public void testDefaultContainsTwo() {
69: Query q = st.query();
70: Object[] r = store();
71: q.constrain(vec(new Object[] { new Integer(8778),
72: new Integer(8789) }));
73: st.expect(q, new Object[] { r[1] });
74: }
75:
76: public void testDefaultContainsObject() {
77: Query q = st.query();
78: Object[] r = store();
79: q
80: .constrain(vec(new Object[] { new STElement("bar877",
81: null) }));
82: st.expect(q, new Object[] { r[2], r[3] });
83: }
84:
85: }
|