DependencyProvider { public List<Plugin> getRequiredPluginsOf(Class<? extends Plugin> pluginClass) { return getDependenciesOf(pluginClass, DependencyType.REQUIRED); } DependencyProvider(PluginRegistry pluginRegistry, FacetRegistry facetRegistry); List<Plugin> getDependenciesOf(Class<? extends Plugin> pluginClass); List<Plugin> getRequiredPluginsOf(Class<? extends Plugin> pluginClass); List<Plugin> getDependentPluginsOf(Class<? extends Plugin> pluginClass); List<T> getFacets(Class<? extends Plugin> pluginClass, Class<T> facet); T getFacet(Class<? extends Plugin> pluginClass, Class<T> facet);  }
@Test public void test_provide_dependencies_never_null() { List<Plugin> dependencies = underTest.getRequiredPluginsOf(NoDepsPlugin.class); Assertions.assertThat(dependencies).isNotNull(); }
@Test public void test_provide_required_dependencies() { List<Plugin> dependencies = underTest.getRequiredPluginsOf(WithDepsPlugin.class); Assertions.assertThat(dependencies).hasSize(2); Assertions.assertThat(dependencies).containsOnly(requiredPlugin1, requiredPlugin2); }