### Question:
BaseStepExternalResourceConsumer implements IStepExternalResourceConsumer<S, M> { @Override public Collection<IExternalResourceInfo> getResourcesFromMeta( final M meta ) { return getResourcesFromMeta( meta, new AnalysisContext( DictionaryConst.CONTEXT_RUNTIME ) ); }  @Override boolean isDataDriven( M meta ); @Override Collection<IExternalResourceInfo> getResourcesFromMeta( final M meta ); @Override Collection<IExternalResourceInfo> getResourcesFromMeta(
    final M meta, final IAnalysisContext context ); @Override Collection<IExternalResourceInfo> getResourcesFromRow(
    final S step, final RowMetaInterface rowMeta, final Object[] row );  }### Answer:
@Test public void testGetResourcesFromMeta() throws Exception { Collection<IExternalResourceConsumer> resources = null; BaseStepMeta meta = null; resources = consumer.getResourcesFromMeta( meta ); assertNotNull( resources ); assertTrue( resources.isEmpty() ); meta = Mockito.mock( BaseStepMeta.class ); resources = consumer.getResourcesFromMeta( meta ); assertNotNull( resources ); assertTrue( resources.isEmpty() ); Mockito.verify( meta, Mockito.times( 0 ) ).getParentStepMeta(); meta = Mockito.mock( BaseFileMeta.class ); TransMeta transMeta = Mockito.mock( TransMeta.class ); StepMeta stepMeta = Mockito.mock( StepMeta.class ); Mockito.when( ( (BaseFileMeta) meta ).writesToFile() ).thenReturn( true ); Mockito.when( meta.getParentStepMeta() ).thenReturn( stepMeta ); Mockito.when( stepMeta.getParentTransMeta() ).thenReturn( transMeta ); consumer.getResourcesFromMeta( meta ); Mockito.verify( meta, Mockito.times( 2 ) ).getParentStepMeta(); Mockito.verify( (BaseFileMeta) meta, Mockito.times( 1 ) ).getFilePaths( false ); }