test_class.declarator: lpcheck = new LonePairElectronChecker()
test_class.modifier: private final
test_class.original_string: private final LonePairElectronChecker lpcheck = new LonePairElectronChecker();
test_class.type: LonePairElectronChecker
test_class.var_name: lpcheck
test_class.declarator: builder = SilentChemObjectBuilder.getInstance()
test_class.modifier: private
test_class.original_string: private IChemObjectBuilder            builder = SilentChemObjectBuilder.getInstance();
test_class.type: IChemObjectBuilder
test_class.var_name: builder
test_class.file: base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactNBEReactionTest.java
test_class.identifier: ElectronImpactNBEReactionTest
test_class.superclass: extends ReactionProcessTest
test_case.body: @Test
      public void testCDKConstants_REACTIVE_CENTER() throws Exception {
          IReactionProcess type = new ElectronImpactNBEReaction();
  
          IAtomContainerSet setOfReactants = getExampleReactants();
          IAtomContainer molecule = setOfReactants.getAtomContainer(0);
          /* manually put the reactive center */
          molecule.getAtom(1).setFlag(CDKConstants.REACTIVE_CENTER, true);
  
          List<IParameterReact> paramList = new ArrayList<IParameterReact>();
          IParameterReact param = new SetReactionCenter();
          param.setParameter(Boolean.TRUE);
          paramList.add(param);
          type.setParameterList(paramList);
  
          /* initiate */
          IReactionSet setOfReactions = type.initiate(setOfReactants, null);
  
          Assert.assertEquals(1, setOfReactions.getReactionCount());
          Assert.assertEquals(1, setOfReactions.getReaction(0).getProductCount());
  
          IAtomContainer reactant = setOfReactions.getReaction(0).getReactants().getAtomContainer(0);
          Assert.assertTrue(molecule.getAtom(1).getFlag(CDKConstants.REACTIVE_CENTER));
          Assert.assertTrue(reactant.getAtom(1).getFlag(CDKConstants.REACTIVE_CENTER));
      }
test_case.class_method_signature: ElectronImpactNBEReactionTest.testCDKConstants_REACTIVE_CENTER()
test_case.full_signature: @Test public void testCDKConstants_REACTIVE_CENTER()
test_case.identifier: testCDKConstants_REACTIVE_CENTER
test_case.invocations: getExampleReactants getAtomContainer setFlag getAtom setParameter add setParameterList initiate assertEquals getReactionCount assertEquals getProductCount getReaction getAtomContainer getReactants getReaction assertTrue getFlag getAtom assertTrue getFlag getAtom
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCDKConstants_REACTIVE_CENTER()
focal_class.declarator: logger = LoggingToolFactory.createLoggingTool(ElectronImpactNBEReaction.class)
focal_class.modifier: private static
focal_class.original_string: private static ILoggingTool logger = LoggingToolFactory.createLoggingTool(ElectronImpactNBEReaction.class);
focal_class.type: ILoggingTool
focal_class.var_name: logger
focal_class.file: base/reaction/src/main/java/org/openscience/cdk/reaction/type/ElectronImpactNBEReaction.java
focal_class.identifier: ElectronImpactNBEReaction
focal_class.interfaces: implements IReactionProcess
focal_class.class_method_signature: ElectronImpactNBEReaction.ElectronImpactNBEReaction()
focal_class.full_signature: public  ElectronImpactNBEReaction()
focal_class.identifier: ElectronImpactNBEReaction
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  ElectronImpactNBEReaction()
focal_class.class_method_signature: ElectronImpactNBEReaction.getSpecification()
focal_class.full_signature: @Override public ReactionSpecification getSpecification()
focal_class.identifier: getSpecification
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ReactionSpecification
focal_class.signature: ReactionSpecification getSpecification()
focal_class.class_method_signature: ElectronImpactNBEReaction.initiate(IAtomContainerSet reactants, IAtomContainerSet agents)
focal_class.full_signature: @Override public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agents)
focal_class.identifier: initiate
focal_class.modifiers: @Override public
focal_class.parameters: (IAtomContainerSet reactants, IAtomContainerSet agents)
focal_class.return: IReactionSet
focal_class.signature: IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agents)
focal_class.class_method_signature: ElectronImpactNBEReaction.setActiveCenters(IAtomContainer reactant)
focal_class.full_signature: private void setActiveCenters(IAtomContainer reactant)
focal_class.identifier: setActiveCenters
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer reactant)
focal_class.return: void
focal_class.signature: void setActiveCenters(IAtomContainer reactant)
focal_class.superclass: extends ReactionEngine
focal_method.body: @Override
      public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agents) throws CDKException {
  
          logger.debug("initiate reaction: ElectronImpactNBEReaction");
  
          if (reactants.getAtomContainerCount() != 1) {
              throw new CDKException("ElectronImpactNBEReaction only expects one reactant");
          }
          if (agents != null) {
              throw new CDKException("ElectronImpactNBEReaction don't expects agents");
          }
  
          IReactionSet setOfReactions = reactants.getBuilder().newInstance(IReactionSet.class);
          IAtomContainer reactant = reactants.getAtomContainer(0);
  
          /*
           * if the parameter hasActiveCenter is not fixed yet, set the active
           * centers
           */
          IParameterReact ipr = super.getParameterClass(SetReactionCenter.class);
          if (ipr != null && !ipr.isSetParameter()) setActiveCenters(reactant);
  
          Iterator<IAtom> atoms = reactant.atoms().iterator();
          while (atoms.hasNext()) {
              IAtom atom = atoms.next();
              if (atom.getFlag(CDKConstants.REACTIVE_CENTER) && reactant.getConnectedLonePairsCount(atom) > 0
                      && reactant.getConnectedSingleElectronsCount(atom) == 0) {
  
                  ArrayList<IAtom> atomList = new ArrayList<IAtom>();
                  atomList.add(atom);
                  IAtomContainerSet moleculeSet = reactant.getBuilder().newInstance(IAtomContainerSet.class);
                  moleculeSet.addAtomContainer(reactant);
                  IReaction reaction = mechanism.initiate(moleculeSet, atomList, null);
                  if (reaction == null)
                      continue;
                  else
                      setOfReactions.addReaction(reaction);
              }
          }
          return setOfReactions;
  
      }
focal_method.class_method_signature: ElectronImpactNBEReaction.initiate(IAtomContainerSet reactants, IAtomContainerSet agents)
focal_method.full_signature: @Override public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agents)
focal_method.identifier: initiate
focal_method.invocations: debug getAtomContainerCount newInstance getBuilder getAtomContainer getParameterClass isSetParameter setActiveCenters iterator atoms hasNext next getFlag getConnectedLonePairsCount getConnectedSingleElectronsCount add newInstance getBuilder addAtomContainer initiate addReaction
focal_method.modifiers: @Override public
focal_method.parameters: (IAtomContainerSet reactants, IAtomContainerSet agents)
focal_method.return: IReactionSet
focal_method.signature: IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agents)