1 21 package com.db4o.test.conjunctions; 22 23 import com.db4o.*; 24 import com.db4o.query.*; 25 import com.db4o.test.*; 26 27 28 public class CJChildField implements CJHasID{ 29 30 31 public CJChild _child; 32 33 public int _id; 34 35 public CJChildField(){ 36 } 37 38 public CJChildField(int id){ 39 _id = id; 40 _child = new CJChild(_id); 41 } 42 43 public void store(){ 44 Test.deleteAllInstances(CJChildField.class); 45 for (int i = 0; i < 20; i++) { 46 store(i); 47 } 48 } 49 50 public void configure(){ 51 Db4o.configure().objectClass(this).objectField("_child").indexed(true); 52 Db4o.configure().objectClass(CJChild.class).objectField("_id").indexed(true); 53 } 54 55 private void store(int i){ 56 Test.store(new CJChildField(i)); 57 } 58 59 60 public void test(){ 61 62 Query q = Test.query(); 63 q.constrain(this.getClass()); 64 Query qId = q.descend("_child").descend("_id"); 65 qId.constrain(new Integer (1)).greater(); 66 qId.constrain(new Integer (2)).smaller().equal(); 67 ConjunctionsTestSuite.expect(q, new int[]{2}); 68 69 70 q = Test.query(); 71 q.constrain(this.getClass()); 72 qId = q.descend("_child").descend("_id"); 73 qId.constrain(new Integer (0)).greater(); 74 qId.constrain(new Integer (1)).greater(); 75 qId.constrain(new Integer (2)).smaller().equal(); 76 qId.constrain(new Integer (3)).smaller().equal(); 77 qId.constrain(new Integer (4)).smaller().equal(); 78 ConjunctionsTestSuite.expect(q, new int[]{2}); 79 80 store(1); 81 82 q = Test.query(); 83 q.constrain(this.getClass()); 84 qId = q.descend("_child").descend("_id"); 85 qId.constrain(new Integer (1)).smaller().equal(); 86 ConjunctionsTestSuite.expect(q, new int[]{0,1,1}); 87 88 89 } 90 91 92 public int getID() { 93 return _id; 94 } 95 96 97 } 98 | Popular Tags |