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 STArrMixedN implements STClass { 27 28 public static transient SodaTest st; 29 30 Object [][][] arr; 31 32 public STArrMixedN() { 33 } 34 35 public STArrMixedN(Object [][][] arr) { 36 this.arr = arr; 37 } 38 39 public Object [] store() { 40 STArrMixedN[] arrMixed = new STArrMixedN[5]; 41 42 arrMixed[0] = new STArrMixedN(); 43 44 Object [][][] content = new Object [1][1][2]; 45 arrMixed[1] = new STArrMixedN(content); 46 47 content = new Object [2][2][3]; 48 arrMixed[2] = new STArrMixedN(content); 49 50 content = new Object [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 (false); 55 arrMixed[3] = new STArrMixedN(content); 56 57 content = new Object [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 (12); 62 arrMixed[4] = new STArrMixedN(content); 63 64 Object [] ret = new Object [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 [] r = store(); 72 Object [][][] content = new Object [1][1][1]; 73 content[0][0][0] = "bar"; 74 q.constrain(new STArrMixedN(content)); 75 st.expect(q, new Object [] { r[3], r[4] }); 76 } 77 78 public void testDefaultContainsInteger() { 79 Query q = st.query(); 80 Object [] r = store(); 81 Object [][][] content = new Object [1][1][1]; 82 content[0][0][0] = new Integer (12); 83 q.constrain(new STArrMixedN(content)); 84 st.expect(q, new Object [] { r[4] }); 85 } 86 87 public void testDefaultContainsBoolean() { 88 Query q = st.query(); 89 Object [] r = store(); 90 Object [][][] content = new Object [1][1][1]; 91 content[0][0][0] = new Boolean (false); 92 q.constrain(new STArrMixedN(content)); 93 st.expect(q, new Object [] { r[3] }); 94 } 95 96 public void testDefaultContainsTwo() { 97 Query q = st.query(); 98 Object [] r = store(); 99 Object [][][] content = new Object [2][1][1]; 100 content[0][0][0] = "bar"; 101 content[1][0][0] = new Integer (12); 102 q.constrain(new STArrMixedN(content)); 103 st.expect(q, new Object [] { r[4] }); 104 } 105 106 public void testDescendOne() { 107 Query q = st.query(); 108 Object [] r = store(); 109 q.constrain(STArrMixedN.class); 110 q.descend("arr").constrain("bar"); 111 st.expect(q, new Object [] { r[3], r[4] }); 112 } 113 114 public void testDescendTwo() { 115 Query q = st.query(); 116 Object [] 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 [] { r[3] }); 122 } 123 124 public void testDescendOneNot() { 125 Query q = st.query(); 126 Object [] r = store(); 127 q.constrain(STArrMixedN.class); 128 q.descend("arr").constrain("bar").not(); 129 st.expect(q, new Object [] { r[0], r[1], r[2] }); 130 } 131 132 public void testDescendTwoNot() { 133 Query q = st.query(); 134 Object [] 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 [] { r[0], r[1], r[2] }); 140 } 141 142 } 143 | Popular Tags |