### Question:
MetastoreLocatorImpl extends ServiceMap<MetastoreProvider> implements MetastoreLocator,
  MetastoreLocatorOsgi { @Override public IMetaStore getMetastore() { return getMetastore( null ); }  @Override IMetaStore getExplicitMetastore( String providerKey ); @Override IMetaStore getMetastore(); @Override IMetaStore getMetastore( String providerKey ); @Override String setEmbeddedMetastore( final IMetaStore metastore ); @Override void disposeMetastoreProvider( String providerKey );  }### Answer:
@Test public void testGetMetastoreTest() { MetastoreProvider localProvider = mock( MetastoreProvider.class ); IMetaStore localMeta = mock( IMetaStore.class ); when( localProvider.getMetastore() ).thenReturn( localMeta ); MetastoreProvider repoProvider = mock( MetastoreProvider.class ); IMetaStore repoMeta = mock( IMetaStore.class ); when( repoProvider.getMetastore() ).thenReturn( repoMeta ); metastoreLocator.itemAdded( localProvider, ImmutableMap.of( ServiceMap.SERVICE_KEY_PROPERTY, MetastoreLocator.LOCAL_PROVIDER_KEY ) ); assertEquals( localMeta, metastoreLocator.getMetastore() ); metastoreLocator.itemAdded( repoProvider, ImmutableMap.of( ServiceMap.SERVICE_KEY_PROPERTY, MetastoreLocator.REPOSITORY_PROVIDER_KEY ) ); assertEquals( repoMeta, metastoreLocator.getMetastore() ); assertEquals( localMeta, metastoreLocator.getExplicitMetastore( MetastoreLocator.LOCAL_PROVIDER_KEY ) ); assertEquals( repoMeta, metastoreLocator.getExplicitMetastore( MetastoreLocator.REPOSITORY_PROVIDER_KEY ) ); }