@Test
public void testAccessControlList() throws Exception {

  AccessControlList acl;
  Set<String> users;
  Set<String> groups;
  
  acl = new AccessControlList("drwho tardis");
  users = acl.getUsers();
  assertEquals(users.size(), 1);
  assertEquals(users.iterator().next(), "drwho");
  groups = acl.getGroups();
  assertEquals(groups.size(), 1);
  assertEquals(groups.iterator().next(), "tardis");
  
  acl = new AccessControlList("drwho");
  users = acl.getUsers();
  assertEquals(users.size(), 1);
  assertEquals(users.iterator().next(), "drwho");
  groups = acl.getGroups();
  assertEquals(groups.size(), 0);
  
  acl = new AccessControlList("drwho ");
  users = acl.getUsers();
  assertEquals(users.size(), 1);
  assertEquals(users.iterator().next(), "drwho");
  groups = acl.getGroups();
  assertEquals(groups.size(), 0);
  
  acl = new AccessControlList(" tardis");
  users = acl.getUsers();
  assertEquals(users.size(), 0);
  groups = acl.getGroups();
  assertEquals(groups.size(), 1);
  assertEquals(groups.iterator().next(), "tardis");
  Iterator<String> iter;    
  acl = new AccessControlList("drwho,joe tardis, users");
  users = acl.getUsers();
  assertEquals(users.size(), 2);
  iter = users.iterator();
  assertEquals(iter.next(), "drwho");
  assertEquals(iter.next(), "joe");
  groups = acl.getGroups();
  assertEquals(groups.size(), 2);
  iter = groups.iterator();
  assertEquals(iter.next(), "tardis");
  assertEquals(iter.next(), "users");
}