### Question:
SinglePluginLoader implements PluginLoader { public SinglePluginLoader(final String resource) { this.resource = notNull("resource", resource); url = null; inputStreamRef = new AtomicReference<InputStream>(null); } SinglePluginLoader(final String resource);  SinglePluginLoader(final URL url);  SinglePluginLoader(final InputStream is); Collection<Plugin> loadAllPlugins(final ModuleDescriptorFactory moduleDescriptorFactory); boolean supportsRemoval(); boolean supportsAddition(); Collection<Plugin> addFoundPlugins(final ModuleDescriptorFactory moduleDescriptorFactory); void removePlugin(final Plugin plugin);  }### Answer:
@Test public void testSinglePluginLoader() throws Exception { final SinglePluginLoader loader = new SinglePluginLoader("test-system-plugin.xml"); final DefaultModuleDescriptorFactory moduleDescriptorFactory = new DefaultModuleDescriptorFactory(new DefaultHostContainer()); moduleDescriptorFactory.addModuleDescriptor("animal", MockAnimalModuleDescriptor.class); moduleDescriptorFactory.addModuleDescriptor("mineral", MockMineralModuleDescriptor.class); final Collection plugins = loader.loadAllPlugins(moduleDescriptorFactory); assertEquals(1, plugins.size()); final Plugin plugin = (Plugin) plugins.iterator().next(); assertTrue(plugin.isSystemPlugin()); }