public void testCloneSimpleGroup() throws Exception
{
SimplePrincipal sp1 = new SimplePrincipal("sp1");
SimplePrincipal sp2 = new SimplePrincipal("sp2");
SimpleGroup sg = new SimpleGroup("sg1");
sg.addMember(sp1);
sg.addMember(sp2);
assertTrue("sg.isMember(sp1)", sg.isMember(sp1));
assertTrue("sg.isMember(sp2)", sg.isMember(sp2));
//Clone
SimpleGroup clonedSP = (SimpleGroup)sg.clone();
sg.removeMember(sp2);
//Only the active principal is valid
assertFalse("sg.isMember(sp2) == false", sg.isMember(sp2));
assertTrue("sg.isMember(sp1)", sg.isMember(sp1));
//Check that the cloned SimpleGroup is not affected
assertTrue("clonedSP.isMember(sp2)", clonedSP.isMember(sp2));
}