KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > rmi > server > ServerGCTest


1 package org.sapia.ubik.rmi.server;
2
3 import junit.framework.TestCase;
4
5
6 /**
7  * @author Yanick Duchesne
8  * <dl>
9  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
10  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
11  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
12  * </dl>
13  */

14 public class ServerGCTest extends TestCase {
15   public ServerGCTest(String JavaDoc name) {
16     super(name);
17   }
18
19   public void testRegisterRef() throws Exception JavaDoc {
20     OID oid = new OID(1);
21     VmId vmid = new VmId(1);
22
23     Hub.serverRuntime.gc.registerRef(vmid, oid, "addr_1");
24     super.assertTrue(Hub.serverRuntime.gc.getRefCount(vmid, oid) == 1);
25   }
26
27   public void testUnregisterRef() throws Exception JavaDoc {
28     OID oid = new OID(2);
29     VmId vmid = new VmId(1);
30     Hub.serverRuntime.gc.registerRef(vmid, oid, "addr_2");
31     Hub.serverRuntime.gc.dereference(vmid, oid);
32     super.assertTrue(Hub.serverRuntime.gc.getRefCount(vmid, oid) == 0);
33   }
34
35   public void testMultiVm() throws Exception JavaDoc {
36     VmId vm1 = new VmId(1);
37     VmId vm2 = new VmId(2);
38     VmId vm3 = new VmId(3);
39     OID oid = new OID(3);
40     String JavaDoc obj = "object3";
41
42     Hub.serverRuntime.gc.registerRef(vm1, oid, obj);
43     super.assertTrue(Hub.serverRuntime.gc.getRefCount(vm1, oid) == 1);
44     Hub.serverRuntime.gc.registerRef(vm2, oid, obj);
45     super.assertEquals(2, Hub.serverRuntime.gc.getRefCount(vm2, oid));
46     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm1, oid));
47     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm2, oid));
48
49     Hub.serverRuntime.gc.registerRef(vm3, oid, obj);
50     super.assertEquals(3, Hub.serverRuntime.gc.getRefCount(vm3, oid));
51     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm1, oid));
52     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm2, oid));
53     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm3, oid));
54
55     Hub.serverRuntime.gc.dereference(vm1, oid);
56     super.assertEquals(2, Hub.serverRuntime.gc.getRefCount(vm1, oid));
57     super.assertEquals(0, Hub.serverRuntime.gc.getSpecificCount(vm1, oid));
58     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm2, oid));
59     super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm3, oid));
60   }
61 }
62
Popular Tags