### Question:
InMemoryRuntimeRegistry implements RuntimeRegistry { @Override public Provider getProvider(final String providerId) { checkNotNull("providerId", providerId); return providers.get(providerId); } InMemoryRuntimeRegistry(); @Override void registerProviderType(final ProviderType providerType); @Override List<ProviderType> getProviderTypes(final Integer page,
                                               final Integer pageSize,
                                               final String sort,
                                               final boolean sortOrder); @Override void deregisterProviderType(final ProviderType providerType); @Override void registerProvider(final Provider provider); @Override List<Provider> getProviders(final Integer page,
                                       final Integer pageSize,
                                       final String sort,
                                       final boolean sortOrder); @Override List<Provider> getProvidersByType(final ProviderType providerType); @Override Provider getProvider(final String providerId); @Override void deregisterProvider(final Provider provider); @Override void deregisterProvider(final String providerId); @Override void registerRuntime(final Runtime runtime); @Override List<Runtime> getRuntimes(final Integer page,
                                     final Integer pageSize,
                                     final String sort,
                                     final boolean sortOrder); @Override Runtime getRuntimeById(final String runtimeId); @Override void deregisterRuntime(final RuntimeId runtimeId); @Override Optional<T> getProvider(final ProviderId providerId,
                                                        final Class<T> clazz);  }### Answer:
@Test public void testGetProvider() { Provider result = runtimeRegistry.getProvider(provider.getId()); assertNull(result); runtimeRegistry.registerProvider(provider); result = runtimeRegistry.getProvider(provider.getId()); assertEquals(provider, result); }
@Test public void getProvider() { MockProvider mockProvider = new MockProvider(PROVIDER_ID, providerType); ProviderId providerId = mock(ProviderId.class); when(providerId.getId()).thenReturn(PROVIDER_ID); when(providerId.getProviderType()).thenReturn(providerType); runtimeRegistry.registerProvider(mockProvider); Optional<MockProvider> result = runtimeRegistry.getProvider(providerId, MockProvider.class); assertTrue(result.isPresent()); assertEquals(mockProvider, result.get()); }