### Question:
GroupCommand extends AbstractCommand { public Permission requiredPermission() { return m_permission; } private  GroupCommand( final ContextEnum currentContext, final GroupPrincipal target, final String action ); private  GroupCommand( final String requestContext,
                          final String urlPattern,
                          final String contentTemplate,
                          final GroupPrincipal target,
                          final String action ); Command targetedCommand( final Object target ); String getName(); Permission requiredPermission(); static final Command DELETE_GROUP; static final Command EDIT_GROUP; static final Command VIEW_GROUP; }### Answer:
@Test public void testStaticCommand() { Command a; a = GroupCommand.VIEW_GROUP; Assertions.assertEquals( "viewGroup", a.getRequestContext() ); Assertions.assertEquals( "Group.jsp", a.getJSP() ); Assertions.assertEquals( "%uGroup.jsp?group=%n", a.getURLPattern() ); Assertions.assertEquals( "GroupContent.jsp", a.getContentTemplate() ); Assertions.assertNull( a.getTarget()); Assertions.assertNull( a.requiredPermission() ); Assertions.assertEquals( a, GroupCommand.VIEW_GROUP ); a = GroupCommand.EDIT_GROUP; Assertions.assertEquals( "editGroup", a.getRequestContext() ); Assertions.assertEquals( "EditGroup.jsp", a.getJSP() ); Assertions.assertEquals( "%uEditGroup.jsp?group=%n", a.getURLPattern() ); Assertions.assertEquals( "EditGroupContent.jsp", a.getContentTemplate() ); Assertions.assertNull( a.getTarget()); Assertions.assertNull( a.requiredPermission() ); Assertions.assertEquals( a, GroupCommand.EDIT_GROUP ); a = GroupCommand.DELETE_GROUP; Assertions.assertEquals( "deleteGroup", a.getRequestContext() ); Assertions.assertEquals( "DeleteGroup.jsp", a.getJSP() ); Assertions.assertEquals( "%uDeleteGroup.jsp?group=%n", a.getURLPattern() ); Assertions.assertNull( null ); Assertions.assertNull( a.getTarget()); Assertions.assertNull( a.requiredPermission() ); Assertions.assertEquals( a, GroupCommand.DELETE_GROUP ); }