test_class.declarator: mockProcessor = new AnnotationProcessor()
test_class.modifier: private
test_class.original_string: private AnnotationProcessor mockProcessor = new AnnotationProcessor();
test_class.type: AnnotationProcessor
test_class.var_name: mockProcessor
test_class.declarator: sut
test_class.modifier: private
test_class.original_string: private DependencyResolver sut;
test_class.type: DependencyResolver
test_class.var_name: sut
test_class.file: plugface-core/src/test/java/org/plugface/core/internal/DependencyResolverTest.java
test_class.identifier: DependencyResolverTest
test_case.body: @Test
      public void shouldResolvePluginsWithoutDependencies() {
          List<Class<?>> plugins = newArrayList(TestPlugin.class, OptionalPlugin.class);
          final Collection<Node<?>> nodes = sut.resolve(plugins);
          assertEquals(plugins.size(), nodes.size());
          for (Node<?> node : nodes) {
              assertTrue(plugins.contains(node.getRefClass()));
          }
      }
test_case.class_method_signature: DependencyResolverTest.shouldResolvePluginsWithoutDependencies()
test_case.full_signature: @Test public void shouldResolvePluginsWithoutDependencies()
test_case.identifier: shouldResolvePluginsWithoutDependencies
test_case.invocations: newArrayList resolve assertEquals size size assertTrue contains getRefClass
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldResolvePluginsWithoutDependencies()
focal_class.declarator: processor
focal_class.modifier: private final
focal_class.original_string: private final AnnotationProcessor processor;
focal_class.type: AnnotationProcessor
focal_class.var_name: processor
focal_class.file: plugface-core/src/main/java/org/plugface/core/internal/DependencyResolver.java
focal_class.identifier: DependencyResolver
focal_class.class_method_signature: DependencyResolver.DependencyResolver(AnnotationProcessor processor)
focal_class.full_signature: public  DependencyResolver(AnnotationProcessor processor)
focal_class.identifier: DependencyResolver
focal_class.modifiers: public
focal_class.parameters: (AnnotationProcessor processor)
focal_class.signature:  DependencyResolver(AnnotationProcessor processor)
focal_class.class_method_signature: DependencyResolver.resolve(Collection<Class<?>> pluginClasses)
focal_class.full_signature: public Collection<Node<?>> resolve(Collection<Class<?>> pluginClasses)
focal_class.identifier: resolve
focal_class.modifiers: public
focal_class.parameters: (Collection<Class<?>> pluginClasses)
focal_class.return: Collection<Node<?>>
focal_class.signature: Collection<Node<?>> resolve(Collection<Class<?>> pluginClasses)
focal_method.body: public Collection<Node<?>> resolve(Collection<Class<?>> pluginClasses) {
  
          final Graph graph = new Graph();
          for (Class<?> pluginClass : pluginClasses) {
              final Collection<Node<?>> deps = processor.getDependencies(pluginClass);
              final Node<?> node = new Node<>(pluginClass);
              if (deps.isEmpty()) {
                  graph.addLeaf(node);
              } else {
                  graph.addEdges(node, deps);
              }
          }
  
          return graph.resolve();
      }
focal_method.class_method_signature: DependencyResolver.resolve(Collection<Class<?>> pluginClasses)
focal_method.full_signature: public Collection<Node<?>> resolve(Collection<Class<?>> pluginClasses)
focal_method.identifier: resolve
focal_method.invocations: getDependencies isEmpty addLeaf addEdges resolve
focal_method.modifiers: public
focal_method.parameters: (Collection<Class<?>> pluginClasses)
focal_method.return: Collection<Node<?>>
focal_method.signature: Collection<Node<?>> resolve(Collection<Class<?>> pluginClasses)