Program: 39363
Project: 39363
Buggy source:
@SuppressWarnings("String_Node_Str") @Test public void shouldPerformInit() throws Exception {
  InternalPlugin plugin1=mock(InternalPlugin.class,"String_Node_Str");
  QcadooPluginPlugin pluginsPlugin1=mock(QcadooPluginPlugin.class,"String_Node_Str");
  given(plugin1.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin1.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin1.getState()).willReturn("String_Node_Str");
  given(pluginsPlugin1.getVersion()).willReturn("String_Node_Str");
  InternalPlugin plugin2=mock(InternalPlugin.class,"String_Node_Str");
  QcadooPluginPlugin pluginsPlugin2=mock(QcadooPluginPlugin.class,"String_Node_Str");
  given(plugin2.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin2.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin2.getVersion()).willReturn("String_Node_Str");
  given(pluginsPlugin2.getState()).willReturn("String_Node_Str");
  Set<InternalPlugin> pluginsFromDescriptor=Sets.newHashSet(plugin1,plugin2);
  Set<QcadooPluginPlugin> pluginsFromDatabase=Sets.newHashSet(pluginsPlugin1,pluginsPlugin2);
  List<Plugin> sortedPluginsToInitialize=Lists.newArrayList((Plugin)plugin2,(Plugin)plugin1);
  given(pluginDependencyManager.sortPluginsInDependencyOrder(Mockito.anyCollectionOf(Plugin.class),Mockito.anyMap())).willReturn(sortedPluginsToInitialize);
  given(pluginDescriptorParser.loadPlugins()).willReturn(pluginsFromDescriptor);
  given(pluginDao.list()).willReturn(pluginsFromDatabase);
  pluginAccessor.init();
  InOrder inOrder=inOrder(plugin2,plugin1,moduleFactoryAccessor);
  inOrder.verify(moduleFactoryAccessor).init(sortedPluginsToInitialize);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Test public void shouldPerformInit() throws Exception {
  InternalPlugin plugin1=mock(InternalPlugin.class,"String_Node_Str");
  QcadooPluginPlugin pluginsPlugin1=mock(QcadooPluginPlugin.class,"String_Node_Str");
  given(plugin1.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin1.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin1.getState()).willReturn("String_Node_Str");
  given(pluginsPlugin1.getVersion()).willReturn("String_Node_Str");
  InternalPlugin plugin2=mock(InternalPlugin.class,"String_Node_Str");
  QcadooPluginPlugin pluginsPlugin2=mock(QcadooPluginPlugin.class,"String_Node_Str");
  given(plugin2.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin2.getIdentifier()).willReturn("String_Node_Str");
  given(pluginsPlugin2.getVersion()).willReturn("String_Node_Str");
  given(pluginsPlugin2.getState()).willReturn("String_Node_Str");
  Set<InternalPlugin> pluginsFromDescriptor=Sets.newHashSet(plugin1,plugin2);
  Set<QcadooPluginPlugin> pluginsFromDatabase=Sets.newHashSet(pluginsPlugin1,pluginsPlugin2);
  List<Plugin> sortedPluginsToInitialize=Lists.newArrayList((Plugin)plugin2,(Plugin)plugin1);
  given(pluginDependencyManager.sortPluginsInDependencyOrder(Mockito.anyCollectionOf(Plugin.class),Mockito.anyMap())).willReturn(sortedPluginsToInitialize);
  given(pluginDescriptorParser.loadPlugins()).willReturn(pluginsFromDescriptor);
  given(pluginDao.list()).willReturn(pluginsFromDatabase);
  pluginAccessor.init();
  pluginAccessor.onApplicationEvent(null);
  InOrder inOrder=inOrder(plugin2,plugin1,moduleFactoryAccessor);
  inOrder.verify(moduleFactoryAccessor).init(sortedPluginsToInitialize);
}