@Test
public void testManuallyCentreActive() throws Exception {

    IReactionProcess type = new TautomerizationReaction();
    IAtomContainerSet setOfReactants = getExampleReactants();
    IAtomContainer molecule = setOfReactants.getAtomContainer(0);
    /* manually putting the active center */
    molecule.getAtom(0).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule.getAtom(1).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule.getAtom(2).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule.getAtom(4).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule.getBond(0).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule.getBond(1).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule.getBond(3).setFlag(CDKConstants.REACTIVE_CENTER, true);
    /* initiate */
    List<IParameterReact> paramList = new ArrayList<IParameterReact>();
    IParameterReact param = new SetReactionCenter();
    param.setParameter(Boolean.TRUE);
    paramList.add(param);
    type.setParameterList(paramList);
    IReactionSet setOfReactions = type.initiate(setOfReactants, null);
    Assert.assertEquals(1, setOfReactions.getReactionCount());
    Assert.assertEquals(1, setOfReactions.getReaction(0).getProductCount());
    IAtomContainer product = setOfReactions.getReaction(0).getProducts().getAtomContainer(0);
    IAtomContainer molecule2 = getExpectedProducts().getAtomContainer(0);
    IQueryAtomContainer queryAtom = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(product);
    Assert.assertTrue(new UniversalIsomorphismTester().isIsomorph(molecule2, queryAtom));
    // reverse process
    /* manually putting the active center */
    molecule2.getAtom(0).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule2.getAtom(1).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule2.getAtom(2).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule2.getAtom(6).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule2.getBond(0).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule2.getBond(1).setFlag(CDKConstants.REACTIVE_CENTER, true);
    molecule2.getBond(5).setFlag(CDKConstants.REACTIVE_CENTER, true);
    IAtomContainerSet setOfReactants2 = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainerSet.class);
    setOfReactants2.addAtomContainer(molecule2);
    IReactionSet setOfReactions2 = type.initiate(setOfReactants2, null);
    Assert.assertEquals(1, setOfReactions2.getReactionCount());
    Assert.assertEquals(1, setOfReactions2.getReaction(0).getProductCount());
    IAtomContainer product2 = setOfReactions2.getReaction(0).getProducts().getAtomContainer(0);
    queryAtom = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(product2);
    Assert.assertTrue(new UniversalIsomorphismTester().isIsomorph(molecule, queryAtom));
}