KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > ubik > rmi > replication > ReplicationStrategyTest


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

20 public class ReplicationStrategyTest extends TestCase {
21   public ReplicationStrategyTest(String JavaDoc arg0) {
22     super(arg0);
23   }
24
25   public void testNoTargets() {
26     TCPAddress addr1 = new TCPAddress("test", 1);
27     TCPAddress addr2 = new TCPAddress("test", 2);
28     TCPAddress addr3 = new TCPAddress("test", 3);
29     TCPAddress addr4 = new TCPAddress("test", 4);
30
31     Set JavaDoc siblings = new HashSet JavaDoc();
32     siblings.add(addr1);
33     siblings.add(addr2);
34     siblings.add(addr3);
35     siblings.add(addr4);
36
37     Set JavaDoc visited = new HashSet JavaDoc();
38     ReplicationStrategy st = new ReplicationStrategy(visited, null, siblings);
39     ServerAddress next;
40
41     next = st.selectNextSibling();
42     super.assertTrue(next != null);
43     super.assertEquals(1, visited.size());
44
45     next = st.selectNextSibling();
46     super.assertTrue(next != null);
47     super.assertEquals(2, visited.size());
48
49     next = st.selectNextSibling();
50     super.assertTrue(next != null);
51     super.assertEquals(3, visited.size());
52
53     next = st.selectNextSibling();
54     super.assertTrue(next != null);
55     super.assertEquals(4, visited.size());
56
57     next = st.selectNextSibling();
58     super.assertTrue(next == null);
59     super.assertEquals(4, visited.size());
60   }
61
62   public void testTargets() {
63     TCPAddress addr1 = new TCPAddress("test", 1);
64     TCPAddress addr2 = new TCPAddress("test", 2);
65     TCPAddress addr3 = new TCPAddress("test", 3);
66     TCPAddress addr4 = new TCPAddress("test", 4);
67
68     Set JavaDoc siblings = new HashSet JavaDoc();
69     siblings.add(addr1);
70     siblings.add(addr2);
71     siblings.add(addr3);
72     siblings.add(addr4);
73
74     Set JavaDoc targets = new HashSet JavaDoc();
75     targets.add(addr2);
76     targets.add(addr4);
77
78     Set JavaDoc visited = new HashSet JavaDoc();
79     ReplicationStrategy st = new ReplicationStrategy(visited, targets,
80         siblings);
81     ServerAddress next;
82
83     next = st.selectNextSibling();
84     super.assertTrue(next != null);
85     super.assertTrue(next.equals(addr2) || next.equals(addr4));
86     super.assertEquals(1, visited.size());
87
88     next = st.selectNextSibling();
89     super.assertTrue(next != null);
90     super.assertTrue(next.equals(addr2) || next.equals(addr4));
91     super.assertEquals(2, visited.size());
92
93     next = st.selectNextSibling();
94     super.assertTrue(next == null);
95     super.assertEquals(2, visited.size());
96   }
97 }
98
Popular Tags