### Question:
Group { public synchronized boolean remove( Principal user ) { user = findMember( user.getName() ); if( user == null ) return false; m_members.remove( user ); return true; } protected  Group( final String name, final String wiki ); synchronized boolean add( final Principal user ); synchronized void clear(); @Override boolean equals( final Object o ); @Override int hashCode(); synchronized Date getCreated(); final synchronized String getCreator(); synchronized Date getLastModified(); final synchronized String getModifier(); String getName(); Principal getPrincipal(); String getWiki(); boolean isMember( final Principal principal ); Principal[] members(); synchronized boolean remove( Principal user ); synchronized void setCreated( final Date date ); final synchronized void setCreator( final String creator ); synchronized void setLastModified( final Date date ); final synchronized void setModifier( final String modifier ); @Override String toString();  }### Answer:
@Test public void testRemove() { Principal u1 = new WikiPrincipal( "Alice" ); Principal u2 = new WikiPrincipal( "Bob" ); Principal u3 = new WikiPrincipal( "Bob" ); m_group.add( u1 ); m_group.add( u2 ); m_group.remove( u3 ); Assertions.assertTrue( m_group.isMember( u1 ), "Alice" ); Assertions.assertFalse( m_group.isMember( u2 ), "Bob" ); Assertions.assertFalse( m_group.isMember( u3 ), "Bob 2" ); }