### Question:
GroupPermission extends Permission implements Serializable { public boolean equals( Object obj ) { if ( !( obj instanceof GroupPermission ) ) { return false; } GroupPermission p = (GroupPermission) obj; return p.m_mask == m_mask && p.m_group.equals( m_group ) && p.m_wiki != null && p.m_wiki.equals( m_wiki ); } protected  GroupPermission(); private  GroupPermission( String actions );  GroupPermission( String group, String actions ); boolean equals( Object obj ); String getActions(); String getGroup(); String getWiki(); int hashCode(); boolean implies( Permission permission ); String toString(); static final String MEMBER_TOKEN; static final String DELETE_ACTION; static final String EDIT_ACTION; static final String VIEW_ACTION; static final GroupPermission DELETE; static final GroupPermission EDIT; static final GroupPermission VIEW; }### Answer:
@Test public final void testEqualsObject() { GroupPermission p1 = new GroupPermission( "mywiki:Test", "view,edit,delete" ); GroupPermission p2 = new GroupPermission( "mywiki:Test", "view,edit,delete" ); GroupPermission p3 = new GroupPermission( "mywiki:Test", "delete,view,edit" ); GroupPermission p4 = new GroupPermission( "mywiki:Test*", "delete,view,edit" ); Assertions.assertEquals( p1, p2 ); Assertions.assertEquals( p1, p3 ); Assertions.assertFalse( p3.equals( p4 ) ); }