### Question:
DocumentController implements IDocumentController, IDocumentListener, IRequiresMetaverseBuilder { @Override public List<IDocumentAnalyzer> getDocumentAnalyzers( String type ) { if ( type == null ) { return getAnalyzers(); } HashSet<IDocumentAnalyzer> documentAnalyzerHashSet = analyzerTypeMap.get( type ); List<IDocumentAnalyzer> docAnalyzers = null; if ( documentAnalyzerHashSet != null ) { docAnalyzers = new ArrayList<IDocumentAnalyzer>( documentAnalyzerHashSet ); } return docAnalyzers; } DocumentController();  DocumentController( IMetaverseBuilder metaverseBuilder ); @Override IMetaverseBuilder getMetaverseBuilder(); @Override void setMetaverseBuilder( IMetaverseBuilder metaverseBuilder ); IMetaverseObjectFactory getMetaverseObjectFactory(); void setMetaverseObjectFactory( IMetaverseObjectFactory metaverseObjectFactory ); @Override Graph getGraph(); @Override void setGraph( Graph graph ); @Override List<IDocumentAnalyzer> getAnalyzers(); @Override List<IDocumentAnalyzer> getDocumentAnalyzers( String type ); @Override List<IDocumentAnalyzer> getAnalyzers( Collection<Class<?>> types ); @Override void setDocumentAnalyzers( List<IDocumentAnalyzer> documentAnalyzers ); void setClonableDocumentAnalyzers( List<IDocumentAnalyzer> documentAnalyzers ); @Override void onEvent( IDocumentEvent event ); void addClonableAnalyzer( final IClonableDocumentAnalyzer analyzer ); @Override void addAnalyzer( IDocumentAnalyzer analyzer ); void removeClonableAnalyzer( final IClonableDocumentAnalyzer analyzer ); @Override void removeAnalyzer( IDocumentAnalyzer analyzer ); @Override IMetaverseBuilder addNode( IMetaverseNode iMetaverseNode ); @Override IMetaverseBuilder addLink( IMetaverseLink iMetaverseLink ); @Override IMetaverseBuilder deleteNode( IMetaverseNode iMetaverseNode ); @Override IMetaverseBuilder deleteLink( IMetaverseLink iMetaverseLink ); @Override IMetaverseBuilder updateNode( IMetaverseNode iMetaverseNode ); @Override IMetaverseBuilder updateLinkLabel( IMetaverseLink iMetaverseLink, String newLabel ); @Override IMetaverseBuilder addLink( IMetaverseNode fromNode, String label, IMetaverseNode toNode ); @Override void addLink( Vertex fromVertex, String label, Vertex toVertex );  }### Answer:
@Test public void testGetDocumentAnalyzers() { List<IDocumentAnalyzer> analyzers = docController.getAnalyzers(); assertEquals( this.analyzers.size(), analyzers.size() ); }
@Test public void testGetDocumentAnalyzersForType() { List<IDocumentAnalyzer> analyzers = docController.getDocumentAnalyzers( "dummy" ); assertEquals( 2, analyzers.size() ); analyzers = docController.getDocumentAnalyzers( "test" ); assertEquals( 1, analyzers.size() ); analyzers = docController.getDocumentAnalyzers( null ); assertEquals( this.analyzers.size(), analyzers.size() ); }