@Test public void testSFBug1708336() throws Exception { IAtomContainer atomContainer = DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class); atomContainer.addAtom(atomContainer.getBuilder().newInstance(IAtom.class, "C")); atomContainer.addAtom(atomContainer.getBuilder().newInstance(IAtom.class, "C")); atomContainer.addAtom(atomContainer.getBuilder().newInstance(IAtom.class, "N")); atomContainer.addBond(0, 1, IBond.Order.SINGLE); atomContainer.addBond(1, 2, IBond.Order.SINGLE); IQueryAtomContainer query = new QueryAtomContainer(atomContainer.getBuilder()); IQueryAtom a1 = new SymbolQueryAtom(atomContainer.getBuilder()); a1.setSymbol("C"); AnyAtom a2 = new AnyAtom(atomContainer.getBuilder()); IBond b1 = new OrderQueryBond(a1, a2, IBond.Order.SINGLE, atomContainer.getBuilder()); IQueryAtom a3 = new SymbolQueryAtom(atomContainer.getBuilder()); a3.setSymbol("C"); IBond b2 = new OrderQueryBond(a2, a3, IBond.Order.SINGLE, atomContainer.getBuilder()); query.addAtom(a1); query.addAtom(a2); query.addAtom(a3); query.addBond(b1); query.addBond(b2); List<List<CDKRMap>> list = CDKMCS.getSubgraphMaps(atomContainer, query, true, true, false); Assert.assertTrue(list.isEmpty()); }
public static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType) throws CDKException { return search(g1, g2, new BitSet(), getBitSet(g2), true, true, shouldMatchBonds, shouldMatchRings, matchAtomType); }
CDKMCS { public static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType) throws CDKException { return search(g1, g2, new BitSet(), getBitSet(g2), true, true, shouldMatchBonds, shouldMatchRings, matchAtomType); } }
CDKMCS { public static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType) throws CDKException { return search(g1, g2, new BitSet(), getBitSet(g2), true, true, shouldMatchBonds, shouldMatchRings, matchAtomType); }  }
CDKMCS { public static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType) throws CDKException { return search(g1, g2, new BitSet(), getBitSet(g2), true, true, shouldMatchBonds, shouldMatchRings, matchAtomType); }  static boolean isIsomorph(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> getIsomorphMaps(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<CDKRMap> getSubgraphMap(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> getSubgraphAtomsMaps(IAtomContainer g1,
            IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static boolean isSubgraph(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<IAtomContainer> getOverlaps(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static BitSet getBitSet(IAtomContainer ac); static CDKRGraph buildRGraph(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> search(IAtomContainer g1, IAtomContainer g2, BitSet c1,
            BitSet c2, boolean findAllStructure, boolean findAllMap,
            boolean shouldMatchBonds, boolean shouldMatchRings,
            boolean matchAtomType); static boolean isTimeout(); }
CDKMCS { public static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType) throws CDKException { return search(g1, g2, new BitSet(), getBitSet(g2), true, true, shouldMatchBonds, shouldMatchRings, matchAtomType); }  static boolean isIsomorph(IAtomContainer g1, IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> getIsomorphMaps(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> getSubgraphMaps(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<CDKRMap> getSubgraphMap(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> getSubgraphAtomsMaps(IAtomContainer g1,
            IAtomContainer g2, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static boolean isSubgraph(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<IAtomContainer> getOverlaps(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static BitSet getBitSet(IAtomContainer ac); static CDKRGraph buildRGraph(IAtomContainer g1, IAtomContainer g2,
            boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType); static List<List<CDKRMap>> search(IAtomContainer g1, IAtomContainer g2, BitSet c1,
            BitSet c2, boolean findAllStructure, boolean findAllMap,
            boolean shouldMatchBonds, boolean shouldMatchRings,
            boolean matchAtomType); static boolean isTimeout();  }