### Question:
AuditAuthorizer implements IAuthorizer { @Override public void revoke(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource revokee) throws RequestValidationException, RequestExecutionException { wrappedAuthorizer.revoke(performer, permissions, resource, revokee); } AuditAuthorizer(); @VisibleForTesting  AuditAuthorizer(IAuthorizer wrappedAuthorizer); @Override Set<Permission> authorize(AuthenticatedUser user, IResource resource); @Override void grant(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource grantee); @Override void revoke(AuthenticatedUser performer, Set<Permission> permissions, IResource resource, RoleResource revokee); @Override Set<PermissionDetails> list(AuthenticatedUser performer, Set<Permission> permissionFilter, IResource resourceFilter, RoleResource roleFilter); @Override void revokeAllFrom(RoleResource revokee); @Override void revokeAllOn(IResource droppedResource); @Override Set<? extends IResource> protectedResources(); @Override void validateConfiguration(); @Override void setup(); IAuthorizer getWrappedAuthorizer();  }### Answer:
@Test public void testRevokeDelegation() { authorizer.revoke(mockPerformer, permissions, mockResource, mockRole); verify(mockAuthorizer).revoke(eq(mockPerformer), eq(permissions), eq(mockResource), eq(mockRole)); }