1   /*** 
2    * 
3    * Copyright 2004 Protique Ltd
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.activecluster.group;
19  
20  import java.util.List;
21  
22  /***
23   * @version $Revision: 1.3 $
24   */
25  public class BuddyGroupModelTest extends GroupTestSupport {
26  
27      public void testGroups() throws Exception {
28          addNode("a");
29  
30          // lets check how many groups have been created
31          List groups = model.getGroups();
32          assertEquals("number of groups: " + groups, 1, model.getGroups().size());
33  
34          Group group = (Group) model.getGroups().get(0);
35          assertIncomplete(group);
36  
37          addNode("b");
38          assertEquals("number of groups: " + groups, 2, model.getGroups().size());
39  
40          // lets see if the first node is now complete
41          assertUsable(group);
42  
43          group = (Group) model.getGroups().get(1);
44          assertUsable(group);
45  
46  
47          addNode("c");
48          assertEquals("number of groups: " + groups, 3, model.getGroups().size());
49          group = (Group) model.getGroups().get(2);
50          assertUsable(group);
51  
52  
53          addNode("d");
54          assertEquals("number of groups: " + groups, 4, model.getGroups().size());
55          group = (Group) model.getGroups().get(3);
56          assertUsable(group);
57  
58      }
59  
60      public void testRemoveGroups() {
61          String[] nodeNames = {"a", "b", "c"};
62          addNodes(nodeNames);
63  
64          // TODO now lets remove the nodes and check group states..
65      }
66  
67      protected GroupModel createGroupModel() {
68          return new BuddyGroupModel();
69      }
70  }