@Test
public void testArsenic() throws Exception {

    IAtomContainer mol = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class);
    IAtom atom1 = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "As");
    atom1.setImplicitHydrogenCount(0);
    mol.addAtom(atom1);
    for (int i = 0; i < 3; i++) {
        IAtom atom = DefaultChemObjectBuilder.getInstance().newInstance(IAtom.class, "Cl");
        mol.addAtom(atom);
        IBond bond = DefaultChemObjectBuilder.getInstance().newInstance(IBond.class, atom, atom1,
                IBond.Order.SINGLE);
        mol.addBond(bond);
    }
    StructGenMatcher matcher = new StructGenMatcher();
    IAtomType matched = matcher.findMatchingAtomType(mol, mol.getAtom(0));
    assertAtomType(testedAtomTypes, "As3", matched);
    for (int i = 1; i < mol.getAtomCount(); i++) {
        IAtom atom = mol.getAtom(i);
        matched = matcher.findMatchingAtomType(mol, atom);
        assertAtomType(testedAtomTypes, "atom " + i + " failed to match", "Cl1", matched);
    }
}