@Test
 public void testWorkbenchRunningPredicateFalse() {
   IWorkbench wb = mock(IWorkbench.class);
   when(wb.isClosing()).thenReturn(false);
   sut = new WorkbenchRunningPredicate(wb);
   assertTrue(sut.apply(status));
 }
  /** @see org.eclipse.jface.action.Action#run() */
  @Override
  public void run() {
    IResource resource = null;
    IWorkbench workbench = PlatformUI.getWorkbench();
    if ((workbench != null) && !workbench.isClosing()) {
      IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
      if (window != null) {
        if (dbNodeSelected != null) {
          // db node selected => get parent to retrieve the resource
          // or the project (if the resource does not exist)
          if (dbNodeSelected.getParent() instanceof ProjectNode) {
            ProjectNode pNode = (ProjectNode) dbNodeSelected.getParent();
            resource =
                ResourcesPlugin.getWorkspace()
                    .getRoot()
                    .getProject(pNode.getName())
                    .getFile(ProjectNode.DB_FOLDER + IPath.SEPARATOR + dbNodeSelected.getName());
            if (!resource.exists()) {
              resource = resource.getProject();
            }
          }
        } else if (dbProjectNodeSelected != null) {

          ProjectNode pNode = dbProjectNodeSelected;
          resource =
              ResourcesPlugin.getWorkspace()
                  .getRoot()
                  .getProject(pNode.getName())
                  .getFile(
                      ProjectNode.DB_FOLDER + IPath.SEPARATOR + dbProjectNodeSelected.getName());
          if (!resource.exists()) {
            resource = resource.getProject();
          }
        } else {
          // db node not selected on tree => try to get resource based
          // on selection from package explorer
          Object selectionElement = getSelectionElement(window);
          if (selectionElement == null) {
            // the wizard was requested to open from Andmore menu -
            // open wizard without selecting project or .db file
            resource = null;
          } else {
            // there is an item selected, get the resource
            // associated
            resource = getResourceFromSelection(selectionElement);
          }
        }
        openDialogBasedOnResourceSelected(resource, window);
      }
    }
  }