1 21 package com.db4o.test.legacy.soda.wrapper.typed; 22 23 import com.db4o.*; 24 import com.db4o.query.*; 25 import com.db4o.test.legacy.soda.*; 26 27 public class STCharWT implements STClass{ 28 29 final static String DESCENDANT = "i_char"; 30 31 public static transient SodaTest st; 32 33 Character i_char; 34 35 36 public STCharWT(){ 37 } 38 39 private STCharWT(char a_char){ 40 i_char = new Character (a_char); 41 } 42 43 public Object [] store() { 44 return new Object []{ 45 new STCharWT((char)0), 46 new STCharWT((char)1), 47 new STCharWT((char)99), 48 new STCharWT((char)909) 49 }; 50 } 51 52 public void testEquals(){ 53 Query q = st.query(); 54 q.constrain(new STCharWT((char)0)); 55 56 q.descend(DESCENDANT).constrain(new Character ((char)0)); 59 st.expectOne(q, store()[0]); 60 } 61 62 public void testNotEquals(){ 63 Query q = st.query(); 64 Object [] r = store(); 65 Constraint c = q.constrain(r[0]); 66 q.descend(DESCENDANT).constraints().not(); 67 st.expect(q, new Object [] {r[1], r[2], r[3]}); 68 } 69 70 public void testGreater(){ 71 Query q = st.query(); 72 Constraint c = q.constrain(new STCharWT((char)9)); 73 q.descend(DESCENDANT).constraints().greater(); 74 Object [] r = store(); 75 st.expect(q, new Object [] {r[2], r[3]}); 76 } 77 78 public void testSmaller(){ 79 Query q = st.query(); 80 Constraint c = q.constrain(new STCharWT((char)1)); 81 q.descend(DESCENDANT).constraints().smaller(); 82 st.expectOne(q, store()[0]); 83 } 84 85 public void testIdentity(){ 86 Query q = st.query(); 87 Constraint c = q.constrain(new STCharWT((char)1)); 88 ObjectSet set = q.execute(); 89 STCharWT identityConstraint = (STCharWT)set.next(); 90 identityConstraint.i_char = new Character ((char)9999); 91 q = st.query(); 92 q.constrain(identityConstraint).identity(); 93 identityConstraint.i_char = new Character ((char)1); 94 st.expectOne(q,store()[1]); 95 } 96 97 public void testNotIdentity(){ 98 Query q = st.query(); 99 Constraint c = q.constrain(new STCharWT((char)1)); 100 ObjectSet set = q.execute(); 101 STCharWT identityConstraint = (STCharWT)set.next(); 102 identityConstraint.i_char = new Character ((char)9080); 103 q = st.query(); 104 q.constrain(identityConstraint).identity().not(); 105 identityConstraint.i_char = new Character ((char)1); 106 Object [] r = store(); 107 st.expect(q, new Object [] {r[0], r[2], r[3]}); 108 } 109 110 public void testConstraints(){ 111 Query q = st.query(); 112 q.constrain(new STCharWT((char)1)); 113 q.constrain(new STCharWT((char)0)); 114 Constraints cs = q.constraints(); 115 Constraint[] csa = cs.toArray(); 116 if(csa.length != 2){ 117 st.error("Constraints not returned"); 118 } 119 } 120 121 public void testEvaluation(){ 122 Query q = st.query(); 123 q.constrain(new STCharWT()); 124 q.constrain(new Evaluation() { 125 public void evaluate(Candidate candidate) { 126 STCharWT sts = (STCharWT)candidate.getObject(); 127 candidate.include((sts.i_char.charValue() + 2) > 100); 128 } 129 }); 130 Object [] r = store(); 131 st.expect(q, new Object [] {r[2], r[3]}); 132 } 133 134 } 135 136 | Popular Tags |