### Question:
AuditAuthenticator implements IAuthenticator { @Override public Set<? extends IResource> protectedResources() { return wrappedAuthenticator.protectedResources(); } AuditAuthenticator();   AuditAuthenticator(IDecoratedAuthenticator wrappedAuthenticator, AuditAdapter auditAdapter); @Override boolean requireAuthentication(); @Override Set<? extends IResource> protectedResources(); @Override void validateConfiguration(); @Override void setup(); @Override SaslNegotiator newSaslNegotiator(); @Override AuthenticatedUser legacyAuthenticate(Map<String, String> credentials);  }### Answer:
@Test public void testProtectedResourcesAreProperlyDelegated() { Set<? extends IResource> expectedResources = ImmutableSet.of(mock(IResource.class)); when(mockAuthenticator.protectedResources()).thenReturn((Set) expectedResources); assertThat(auditAuthenticator.protectedResources()).isEqualTo(expectedResources); verify(mockAuthenticator, times(1)).protectedResources(); }