@Test
public void testCountableMACCSCount2() throws Exception {

    SmilesParser parser = new SmilesParser(SilentChemObjectBuilder.getInstance());
    IFingerprinter printer = new SubstructureFingerprinter(StandardSubstructureSets.getCountableMACCSSMARTS());
    IAtomContainer mol;
    ICountFingerprint cfp;
    // Test molecule 1
    mol = parser.parseSmiles("C([S](O)(=O)=O)C1=C(C=CC=C1)CCCC[N+](=O)[O-]");
    AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
    Aromaticity.cdkLegacy().apply(mol);
    cfp = printer.getCountFingerprint(mol);
    Assert.assertEquals(cfp.getCountForHash(46), 2);
    Assert.assertEquals(cfp.getCountForHash(27), 1);
    Assert.assertEquals(cfp.getCountForHash(59), 2);
    Assert.assertEquals(cfp.getCountForHash(49), 1);
    Assert.assertEquals(cfp.getCountForHash(111), 1);
    Assert.assertEquals(cfp.getCountForHash(129), 3);
    Assert.assertEquals(cfp.getCountForHash(115), 2);
    Assert.assertEquals(cfp.getCountForHash(120), 3);
    Assert.assertEquals(cfp.getCountForHash(41), 3);
    Assert.assertEquals(cfp.getCountForHash(93), 0);
    Assert.assertEquals(cfp.getCountForHash(91), 0);
    Assert.assertEquals(cfp.getCountForHash(24), 0);
    // Test molecule 2: Diatrizoic acid
    mol = parser.parseSmiles("CC(=O)NC1=C(C(=C(C(=C1I)C(=O)O)I)NC(=O)C)I");
    AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
    Aromaticity.cdkLegacy().apply(mol);
    cfp = printer.getCountFingerprint(mol);
    Assert.assertEquals(cfp.getCountForHash(15), 3);
    Assert.assertEquals(cfp.getCountForHash(135), 3);
    Assert.assertEquals(cfp.getCountForHash(139), 4);
    Assert.assertEquals(cfp.getCountForHash(93), 3);
    Assert.assertEquals(cfp.getCountForHash(73), 6);
    Assert.assertEquals(cfp.getCountForHash(91), 0);
}