### Question:
StepAnalyzerProvider extends BaseKettleMetaverseComponent implements IStepAnalyzerProvider { protected void loadAnalyzerTypeMap() { analyzerTypeMap = new HashMap<>(); if ( stepAnalyzers != null ) { for ( IStepAnalyzer analyzer : stepAnalyzers ) { addAnalyzer( analyzer ); } } }  @Override List<IStepAnalyzer> getAnalyzers(); @Override List<IStepAnalyzer> getAnalyzers( Collection<Class<?>> types ); void setStepAnalyzers( List<IStepAnalyzer> analyzers ); void setClonableStepAnalyzers( List<IStepAnalyzer> analyzers ); @Override void addAnalyzer( IStepAnalyzer analyzer ); void addClonableAnalyzer( IClonableStepAnalyzer analyzer ); @Override void removeAnalyzer( IStepAnalyzer analyzer ); void removeClonableAnalyzer( IClonableStepAnalyzer analyzer );  }### Answer:
@Test public void testLoadAnalyzerTypeMap() throws Exception { IStepAnalyzer baseStepAnalyzer = mock( IStepAnalyzer.class ); when( baseStepAnalyzer.getSupportedSteps() ).thenReturn( Sets.newSet( BaseStepMeta.class ) ); IStepAnalyzer tableOutputStepAnalyzer = mock( IStepAnalyzer.class ); when( tableOutputStepAnalyzer.getSupportedSteps() ).thenReturn( Sets.newSet( TableOutputMeta.class ) ); IStepAnalyzer tableOutputStepAnalyzer2 = mock( IStepAnalyzer.class ); when( tableOutputStepAnalyzer2.getSupportedSteps() ).thenReturn( Sets.newSet( TableOutputMeta.class ) ); provider.stepAnalyzers = Lists.newArrayList( baseStepAnalyzer, tableOutputStepAnalyzer, tableOutputStepAnalyzer2 ); provider.loadAnalyzerTypeMap(); Set<IStepAnalyzer> baseStepAnalyzers = provider.analyzerTypeMap.get( BaseStepMeta.class ); assertNotNull( baseStepAnalyzers ); assertEquals( baseStepAnalyzers.size(), 1 ); Set<IStepAnalyzer> tableOutputStepAnalyzers = provider.analyzerTypeMap.get( TableOutputMeta.class ); assertNotNull( tableOutputStepAnalyzers ); assertEquals( tableOutputStepAnalyzers.size(), 2 ); }