1 21 package com.db4o.db4ounit.jre12.collections.custom; 22 23 import java.util.*; 24 25 import com.db4o.*; 26 import com.db4o.ext.*; 27 import com.db4o.query.*; 28 29 import db4ounit.*; 30 import db4ounit.extensions.*; 31 32 33 public class PCollectionReferencedTwiceTestCase extends AbstractDb4oTestCase { 34 35 36 protected void store(){ 37 38 ExtObjectContainer oc = db(); 39 40 PCRTHolder one = new PCRTHolder(); 41 42 one._list = oc.collections().newLinkedList(); 43 44 one._list.add("Hi"); 45 46 oc.set(one); 47 48 PCRTHolder two = new PCRTHolder(); 49 50 two._list = one._list; 51 52 oc.set(two); 53 } 54 55 public void test() throws Exception { 56 57 tListIdentity(); 58 59 reopen(); 60 61 tListIdentity(); 62 63 } 64 65 private void tListIdentity(){ 66 ExtObjectContainer oc = db(); 67 68 Query q = oc.query(); 69 q.constrain(PCRTHolder.class); 70 71 ObjectSet res = q.execute(); 72 73 Assert.areEqual(2,res.size()); 74 75 PCRTHolder one = (PCRTHolder) res.next(); 76 PCRTHolder two = (PCRTHolder) res.next(); 77 78 Assert.areSame(one._list,two._list); 79 80 } 81 82 83 public static class PCRTHolder { 84 85 public List _list; 86 87 } 88 89 90 91 } 92 | Popular Tags |