### Question:
OAuthFetcherConfig { @Inject public OAuthFetcherConfig( @Named(OAUTH_STATE_CRYPTER) BlobCrypter stateCrypter, GadgetOAuthTokenStore tokenStore, TimeSource clock, OAuthCallbackGenerator oauthCallbackGenerator, @Named("shindig.signing.viewer-access-tokens-enabled") boolean viewerAccessTokensEnabled) { this.stateCrypter = stateCrypter; this.tokenStore = tokenStore; this.clock = clock; this.oauthCallbackGenerator = oauthCallbackGenerator; this.viewerAccessTokensEnabled = viewerAccessTokensEnabled; } @Inject  OAuthFetcherConfig(
      @Named(OAUTH_STATE_CRYPTER) BlobCrypter stateCrypter,
      GadgetOAuthTokenStore tokenStore,
      TimeSource clock,
      OAuthCallbackGenerator oauthCallbackGenerator,
      @Named("shindig.signing.viewer-access-tokens-enabled") boolean viewerAccessTokensEnabled); BlobCrypter getStateCrypter(); GadgetOAuthTokenStore getTokenStore(); TimeSource getClock(); OAuthCallbackGenerator getOAuthCallbackGenerator(); boolean isViewerAccessTokensEnabled(); static final String OAUTH_STATE_CRYPTER; }### Answer:
@Test public void testOAuthFetcherConfig() { BlobCrypter crypter = mock(BlobCrypter.class); mock(HttpCache.class); GadgetOAuthTokenStore tokenStore = mock(GadgetOAuthTokenStore.class); OAuthCallbackGenerator callbackGenerator = mock(OAuthCallbackGenerator.class); OAuthFetcherConfig config = new OAuthFetcherConfig(crypter, tokenStore, new TimeSource(), callbackGenerator, false); assertEquals(crypter, config.getStateCrypter()); assertEquals(tokenStore, config.getTokenStore()); assertEquals(callbackGenerator, config.getOAuthCallbackGenerator()); assertFalse(config.isViewerAccessTokensEnabled()); }