1 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 STArrMixed implements STClass{ 27 28 public static transient SodaTest st; 29 30 Object [] arr; 31 32 public STArrMixed(){ 33 } 34 35 public STArrMixed(Object [] arr){ 36 this.arr = arr; 37 } 38 39 public Object [] store() { 40 return new Object []{ 41 new STArrMixed(), 42 new STArrMixed(new Object [0]), 43 new STArrMixed(new Object [] {new Integer (0), new Integer (0), "foo", new Boolean (false)}), 44 new STArrMixed(new Object [] {new Integer (1), new Integer (17), new Integer (Integer.MAX_VALUE - 1), "foo", "bar"}), 45 new STArrMixed(new Object [] {new Integer (3), new Integer (17), new Integer (25), new Integer (Integer.MAX_VALUE - 2)}) 46 }; 47 } 48 49 public void testDefaultContainsInteger(){ 50 Query q = st.query(); 51 Object [] r = store(); 52 q.constrain(new STArrMixed(new Object [] {new Integer (17)})); 53 st.expect(q, new Object [] {r[3], r[4]}); 54 } 55 56 public void testDefaultContainsString(){ 57 Query q = st.query(); 58 Object [] r = store(); 59 q.constrain(new STArrMixed(new Object [] {"foo"})); 60 st.expect(q, new Object [] {r[2], r[3]}); 61 } 62 63 public void testDefaultContainsBoolean(){ 64 Query q = st.query(); 65 Object [] r = store(); 66 q.constrain(new STArrMixed(new Object [] {new Boolean (false)})); 67 st.expect(q, new Object [] {r[2]}); 68 } 69 70 public void testDefaultContainsTwo(){ 71 Query q = st.query(); 72 Object [] r = store(); 73 q.constrain(new STArrMixed(new Object [] {new Integer (17), "bar"})); 74 st.expect(q, new Object [] {r[3]}); 75 } 76 77 public void testDescendOne(){ 78 Query q = st.query(); 79 Object [] r = store(); 80 q.constrain(STArrMixed.class); 81 q.descend("arr").constrain(new Integer (17)); 82 st.expect(q, new Object [] {r[3], r[4]}); 83 } 84 85 public void testDescendTwo(){ 86 Query q = st.query(); 87 Object [] r = store(); 88 q.constrain(STArrMixed.class); 89 Query qElements = q.descend("arr"); 90 qElements.constrain(new Integer (17)); 91 qElements.constrain("bar"); 92 st.expect(q, new Object [] {r[3]}); 93 } 94 95 public void testDescendSmaller(){ 96 Query q = st.query(); 97 Object [] r = store(); 98 q.constrain(STArrMixed.class); 99 Query qElements = q.descend("arr"); 100 qElements.constrain(new Integer (3)).smaller(); 101 st.expect(q, new Object [] {r[2], r[3]}); 102 } 103 104 } 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | Popular Tags |