### Question:
AccessControlList implements Writable { public AccessControlList() { } AccessControlList();  AccessControlList(String aclString); boolean isAllAllowed(); void addUser(String user); void addGroup(String group); void removeUser(String user); void removeGroup(String group); boolean isUserAllowed(UserGroupInformation ugi); @Override String toString(); String getAclString(); void write(DataOutput out); void readFields(DataInput in); static final String WILDCARD_ACL_VALUE; }### Answer:
@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"); }