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.ordered;
22:
23: import com.db4o.query.*;
24: import com.db4o.test.legacy.soda.*;
25:
26: public class STOInteger implements STClass {
27:
28: public static transient SodaTest st;
29:
30: int i_int;
31:
32: public STOInteger() {
33: }
34:
35: private STOInteger(int a_int) {
36: i_int = a_int;
37: }
38:
39: public String toString() {
40: return "STInteger: " + i_int;
41: }
42:
43: public Object[] store() {
44: return new Object[] { new STOInteger(1001), new STOInteger(99),
45: new STOInteger(1), new STOInteger(909),
46: new STOInteger(1001), new STOInteger(0),
47: new STOInteger(1010), };
48: }
49:
50: public void testAscending() {
51: Query q = st.query();
52: q.constrain(STOInteger.class);
53: q.descend("i_int").orderAscending();
54: Object[] r = store();
55: st.expectOrdered(q, new Object[] { r[5], r[2], r[1], r[3],
56: r[0], r[4], r[6] });
57: }
58:
59: public void testDescending() {
60: Query q = st.query();
61: q.constrain(STOInteger.class);
62: q.descend("i_int").orderDescending();
63: Object[] r = store();
64: st.expectOrdered(q, new Object[] { r[6], r[4], r[0], r[3],
65: r[1], r[2], r[5] });
66: }
67:
68: public void testAscendingGreater() {
69: Query q = st.query();
70: q.constrain(STOInteger.class);
71: Query qInt = q.descend("i_int");
72: qInt.constrain(new Integer(100)).greater();
73: qInt.orderAscending();
74: Object[] r = store();
75: st.expectOrdered(q, new Object[] { r[3], r[0], r[4], r[6] });
76: }
77:
78: }
|