### Question:
OpenIdConnectTokenPKIProviderFactoryImpl implements OpenIdConnectTokenPKIProviderFactory { @Override public OpenIdConnectTokenPKIProvider getOpenIdConnectTokenCryptoProvider(OpenIdConnectTokenConfig tokenConfig) throws TokenCreationException { if (realProviderRequired(tokenConfig)) { return new OpenIdConnectTokenPKIProviderImpl(tokenConfig); } else { return new FauxOpenIdConnectTokenPKIProvider(logger); } } @Inject  OpenIdConnectTokenPKIProviderFactoryImpl(Logger logger); @Override OpenIdConnectTokenPKIProvider getOpenIdConnectTokenCryptoProvider(OpenIdConnectTokenConfig tokenConfig);  }### Answer:
@Test public void testCryptoProviderLookup() throws TokenCreationException { OpenIdConnectTokenPKIProviderFactory cryptoProviderFactory = new OpenIdConnectTokenPKIProviderFactoryImpl(mock(Logger.class)); assertTrue(cryptoProviderFactory.getOpenIdConnectTokenCryptoProvider(getConfig(JwsAlgorithm.RS256)) instanceof OpenIdConnectTokenPKIProviderImpl); assertTrue(cryptoProviderFactory.getOpenIdConnectTokenCryptoProvider(getConfig(JwsAlgorithm.HS256)) instanceof FauxOpenIdConnectTokenPKIProvider); }