@Test
public void testFindMatchingAtomType_IAtomContainer_IAtom_Benzene() throws Exception {

    //System.out.println("**** START ATOMTYPE Benzene TEST ******");
    IAtomContainer mol = builder.newInstance(IAtomContainer.class);
    for (int i = 0; i < 6; i++) {
        IAtom carbon = builder.newInstance(IAtom.class, Elements.CARBON);
        carbon.setFlag(CDKConstants.ISAROMATIC, true);
        // making sure the order matches the test results
        mol.addAtom(carbon);
    }
    IBond ringBond = builder
            .newInstance(IBond.class, mol.getAtom(0), mol.getAtom(1), Order.DOUBLE);
    ringBond.setFlag(CDKConstants.ISAROMATIC, true);
    mol.addBond(ringBond);
    ringBond = builder.newInstance(IBond.class, mol.getAtom(1), mol.getAtom(2), Order.SINGLE);
    ringBond.setFlag(CDKConstants.ISAROMATIC, true);
    mol.addBond(ringBond);
    ringBond = builder.newInstance(IBond.class, mol.getAtom(2), mol.getAtom(3), Order.DOUBLE);
    ringBond.setFlag(CDKConstants.ISAROMATIC, true);
    mol.addBond(ringBond);
    ringBond = builder.newInstance(IBond.class, mol.getAtom(3), mol.getAtom(4), Order.SINGLE);
    ringBond.setFlag(CDKConstants.ISAROMATIC, true);
    mol.addBond(ringBond);
    ringBond = builder.newInstance(IBond.class, mol.getAtom(4), mol.getAtom(5), Order.DOUBLE);
    ringBond.setFlag(CDKConstants.ISAROMATIC, true);
    mol.addBond(ringBond);
    ringBond = builder.newInstance(IBond.class, mol.getAtom(5), mol.getAtom(0), Order.SINGLE);
    ringBond.setFlag(CDKConstants.ISAROMATIC, true);
    mol.addBond(ringBond);
    addExplicitHydrogens(mol);
    String[] testResult = {"Car", "Car", "Car", "Car", "Car", "Car", "HC", "HC", "HC", "HC", "HC", "HC"};
    AtomTypeTools att = new AtomTypeTools();
    MMFF94AtomTypeMatcher atm = new MMFF94AtomTypeMatcher();
    att.assignAtomTypePropertiesToAtom(mol, false);
    for (int i = 0; i < mol.getAtomCount(); i++) {
        logger.debug("atomNr:" + mol.getAtom(i).toString());
        IAtomType matched = atm.findMatchingAtomType(mol, mol.getAtom(i));
        Assert.assertNotNull(matched);
        //System.out.println("MatchedTypeID:"+matched.getID()+" "+matched.getSymbol()+" "+matched.getAtomTypeName());
        AtomTypeManipulator.configure(mol.getAtom(i), matched);
    }
    for (int i = 0; i < testResult.length; i++) {
        assertAtomType(testedAtomTypes, testResult[i], mol.getAtom(i));
    }
    //System.out.println("MMFF94 Atom 0:"+mol.getAtom(0).getAtomTypeName());
    //System.out.println(mol.toString());
}