### Question:
DocumentController implements IDocumentController, IDocumentListener, IRequiresMetaverseBuilder { @Override public List<IDocumentAnalyzer> getAnalyzers() { return documentAnalyzers; } 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 testGetAnalyzers_nullSet() { assertNotNull( docController.getAnalyzers( null ) ); }
@Test public void testGetAnalyzers_OnlyDocAnalyzersSet() { Set<Class<?>> types = new HashSet<Class<?>>(); types.add( IDocumentAnalyzer.class ); List<IDocumentAnalyzer> documentAnalyzers = docController.getAnalyzers( types ); assertNotNull( documentAnalyzers ); assertEquals( docController.getAnalyzers(), documentAnalyzers ); }
@Test public void testGetAnalyzers_mutipleAnalyzersSet() { Set<Class<?>> types = new HashSet<Class<?>>(); types.add( IDocumentAnalyzer.class ); types.add( IAnalyzer.class ); List<IDocumentAnalyzer> documentAnalyzers = docController.getAnalyzers( types ); assertNull( documentAnalyzers ); }
@Test public void testGetAnalyzers_notDocAnalyzerSet() { Set<Class<?>> types = new HashSet<Class<?>>(); types.add( IAnalyzer.class ); List<IDocumentAnalyzer> documentAnalyzers = docController.getAnalyzers( types ); assertNull( documentAnalyzers ); }