KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > db4ounit > jre12 > collections > custom > PCollectionReferencedTwiceTestCase


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10 Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11 Suite 350, San Mateo, CA 94403, USA.
12
13 db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */

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 JavaDoc{
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