test_class.declarator: INSTANCE = new MmffAtomTypeMatcher()
test_class.modifier: static
test_class.original_string: static MmffAtomTypeMatcher INSTANCE = new MmffAtomTypeMatcher();
test_class.type: MmffAtomTypeMatcher
test_class.var_name: INSTANCE
test_class.file: tool/forcefield/src/test/java/org/openscience/cdk/forcefield/mmff/MmffAtomTypeMatcherTest.java
test_class.identifier: MmffAtomTypeMatcherTest
test_case.body: @Test
      public void bug3523240IsResolved() throws Exception {
          IAtomContainer container = new AtomContainer(50, 51, 0, 0);
          container.addAtom(atom("H", 0));
          container.addAtom(atom("O", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("O", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("N", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("O", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addAtom(atom("C", 0));
          container.addAtom(atom("H", 0));
          container.addBond(0, 1, IBond.Order.SINGLE);
          container.addBond(1, 2, IBond.Order.SINGLE);
          container.addBond(2, 3, IBond.Order.DOUBLE);
          container.addBond(2, 4, IBond.Order.SINGLE);
          container.addBond(4, 5, IBond.Order.SINGLE);
          container.addBond(4, 6, IBond.Order.SINGLE);
          container.addBond(6, 7, IBond.Order.SINGLE);
          container.addBond(6, 8, IBond.Order.SINGLE);
          container.addBond(8, 9, IBond.Order.DOUBLE);
          container.addBond(8, 10, IBond.Order.SINGLE);
          container.addBond(10, 11, IBond.Order.SINGLE);
          container.addBond(10, 12, IBond.Order.SINGLE);
          container.addBond(12, 13, IBond.Order.SINGLE);
          container.addBond(12, 14, IBond.Order.SINGLE);
          container.addBond(12, 15, IBond.Order.SINGLE);
          container.addBond(15, 16, IBond.Order.SINGLE);
          container.addBond(15, 17, IBond.Order.SINGLE);
          container.addBond(15, 18, IBond.Order.SINGLE);
          container.addBond(18, 19, IBond.Order.SINGLE);
          container.addBond(18, 20, IBond.Order.SINGLE);
          container.addBond(20, 21, IBond.Order.SINGLE);
          container.addBond(20, 22, IBond.Order.SINGLE);
          container.addBond(20, 23, IBond.Order.SINGLE);
          container.addBond(10, 23, IBond.Order.SINGLE);
          container.addBond(23, 24, IBond.Order.SINGLE);
          container.addBond(23, 25, IBond.Order.SINGLE);
          container.addBond(18, 26, IBond.Order.SINGLE);
          container.addBond(26, 27, IBond.Order.SINGLE);
          container.addBond(26, 28, IBond.Order.SINGLE);
          container.addBond(28, 29, IBond.Order.SINGLE);
          container.addBond(28, 30, IBond.Order.SINGLE);
          container.addBond(28, 31, IBond.Order.SINGLE);
          container.addBond(26, 32, IBond.Order.SINGLE);
          container.addBond(32, 33, IBond.Order.SINGLE);
          container.addBond(32, 34, IBond.Order.SINGLE);
          container.addBond(32, 35, IBond.Order.SINGLE);
          container.addBond(4, 36, IBond.Order.SINGLE);
          container.addBond(36, 37, IBond.Order.SINGLE);
          container.addBond(36, 38, IBond.Order.SINGLE);
          container.addBond(36, 39, IBond.Order.SINGLE);
          container.addBond(39, 40, IBond.Order.DOUBLE);
          container.addBond(40, 41, IBond.Order.SINGLE);
          container.addBond(40, 42, IBond.Order.SINGLE);
          container.addBond(42, 43, IBond.Order.SINGLE);
          container.addBond(42, 44, IBond.Order.DOUBLE);
          container.addBond(44, 45, IBond.Order.SINGLE);
          container.addBond(44, 46, IBond.Order.SINGLE);
          container.addBond(46, 47, IBond.Order.SINGLE);
          container.addBond(46, 48, IBond.Order.DOUBLE);
          container.addBond(39, 48, IBond.Order.SINGLE);
          container.addBond(48, 49, IBond.Order.SINGLE);
          String[] expected = {"HOCO", "OC=O", "COO", "O=CO", "CR", "HC", "NC=O", "HNCO", "C=ON", "O=CN", "CR", "HC",
                  "CR", "HC", "HC", "CR", "HC", "HC", "CR", "HC", "CR", "HC", "HC", "CR", "HC", "HC", "CR", "HC", "CR",
                  "HC", "HC", "HC", "CR", "HC", "HC", "HC", "CR", "HC", "HC", "CB", "CB", "HC", "CB", "HC", "CB", "HC",
                  "CB", "HC", "CB", "HC"};
          String[] actual = INSTANCE.symbolicTypes(container);
          Assert.assertArrayEquals(expected, actual);
      }
test_case.class_method_signature: MmffAtomTypeMatcherTest.bug3523240IsResolved()
test_case.full_signature: @Test public void bug3523240IsResolved()
test_case.identifier: bug3523240IsResolved
test_case.invocations: addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addAtom atom addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond addBond symbolicTypes assertArrayEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void bug3523240IsResolved()
focal_class.declarator: aromaticTypes = new MmffAromaticTypeMapping()
focal_class.modifier: private final
focal_class.original_string: private final MmffAromaticTypeMapping aromaticTypes = new MmffAromaticTypeMapping();
focal_class.type: MmffAromaticTypeMapping
focal_class.var_name: aromaticTypes
focal_class.declarator: patterns
focal_class.modifier: private final
focal_class.original_string: private final AtomTypePattern[]       patterns;
focal_class.type: AtomTypePattern[]
focal_class.var_name: patterns
focal_class.declarator: hydrogenMap
focal_class.modifier: private final
focal_class.original_string: private final Map<String, String>     hydrogenMap;
focal_class.type: Map<String, String>
focal_class.var_name: hydrogenMap
focal_class.file: tool/forcefield/src/main/java/org/openscience/cdk/forcefield/mmff/MmffAtomTypeMatcher.java
focal_class.identifier: MmffAtomTypeMatcher
focal_class.class_method_signature: MmffAtomTypeMatcher.MmffAtomTypeMatcher()
focal_class.full_signature:   MmffAtomTypeMatcher()
focal_class.identifier: MmffAtomTypeMatcher
focal_class.parameters: ()
focal_class.signature:  MmffAtomTypeMatcher()
focal_class.class_method_signature: MmffAtomTypeMatcher.symbolicTypes(final IAtomContainer container)
focal_class.full_signature:  String[] symbolicTypes(final IAtomContainer container)
focal_class.identifier: symbolicTypes
focal_class.parameters: (final IAtomContainer container)
focal_class.return: String[]
focal_class.signature: String[] symbolicTypes(final IAtomContainer container)
focal_class.class_method_signature: MmffAtomTypeMatcher.symbolicTypes(final IAtomContainer container, final int[][] graph, final EdgeToBondMap bonds, final Set<IBond> mmffArom)
focal_class.full_signature:  String[] symbolicTypes(final IAtomContainer container, final int[][] graph, final EdgeToBondMap bonds, final Set<IBond> mmffArom)
focal_class.identifier: symbolicTypes
focal_class.parameters: (final IAtomContainer container, final int[][] graph, final EdgeToBondMap bonds, final Set<IBond> mmffArom)
focal_class.return: String[]
focal_class.signature: String[] symbolicTypes(final IAtomContainer container, final int[][] graph, final EdgeToBondMap bonds, final Set<IBond> mmffArom)
focal_class.class_method_signature: MmffAtomTypeMatcher.fixNCNTypes(String[] symbs, int[][] graph)
focal_class.full_signature: private void fixNCNTypes(String[] symbs, int[][] graph)
focal_class.identifier: fixNCNTypes
focal_class.modifiers: private
focal_class.parameters: (String[] symbs, int[][] graph)
focal_class.return: void
focal_class.signature: void fixNCNTypes(String[] symbs, int[][] graph)
focal_class.class_method_signature: MmffAtomTypeMatcher.checkPreconditions(IAtomContainer container)
focal_class.full_signature: private void checkPreconditions(IAtomContainer container)
focal_class.identifier: checkPreconditions
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer container)
focal_class.return: void
focal_class.signature: void checkPreconditions(IAtomContainer container)
focal_class.class_method_signature: MmffAtomTypeMatcher.assignHydrogenTypes(IAtomContainer container, String[] symbs, int[][] graph)
focal_class.full_signature: private void assignHydrogenTypes(IAtomContainer container, String[] symbs, int[][] graph)
focal_class.identifier: assignHydrogenTypes
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer container, String[] symbs, int[][] graph)
focal_class.return: void
focal_class.signature: void assignHydrogenTypes(IAtomContainer container, String[] symbs, int[][] graph)
focal_class.class_method_signature: MmffAtomTypeMatcher.assignPreliminaryTypes(IAtomContainer container, String[] symbs)
focal_class.full_signature: private void assignPreliminaryTypes(IAtomContainer container, String[] symbs)
focal_class.identifier: assignPreliminaryTypes
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer container, String[] symbs)
focal_class.return: void
focal_class.signature: void assignPreliminaryTypes(IAtomContainer container, String[] symbs)
focal_class.class_method_signature: MmffAtomTypeMatcher.loadPatterns(InputStream smaIn)
focal_class.full_signature: static AtomTypePattern[] loadPatterns(InputStream smaIn)
focal_class.identifier: loadPatterns
focal_class.modifiers: static
focal_class.parameters: (InputStream smaIn)
focal_class.return: AtomTypePattern[]
focal_class.signature: AtomTypePattern[] loadPatterns(InputStream smaIn)
focal_class.class_method_signature: MmffAtomTypeMatcher.loadHydrogenDefinitions(InputStream hdefIn)
focal_class.full_signature: private Map<String, String> loadHydrogenDefinitions(InputStream hdefIn)
focal_class.identifier: loadHydrogenDefinitions
focal_class.modifiers: private
focal_class.parameters: (InputStream hdefIn)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> loadHydrogenDefinitions(InputStream hdefIn)
focal_class.class_method_signature: MmffAtomTypeMatcher.skipLine(String line)
focal_class.full_signature: private static boolean skipLine(String line)
focal_class.identifier: skipLine
focal_class.modifiers: private static
focal_class.parameters: (String line)
focal_class.return: boolean
focal_class.signature: boolean skipLine(String line)
focal_class.class_method_signature: MmffAtomTypeMatcher.close(InputStream in)
focal_class.full_signature: private static void close(InputStream in)
focal_class.identifier: close
focal_class.modifiers: private static
focal_class.parameters: (InputStream in)
focal_class.return: void
focal_class.signature: void close(InputStream in)
focal_method.body: String[] symbolicTypes(final IAtomContainer container) {
          EdgeToBondMap bonds = EdgeToBondMap.withSpaceFor(container);
          int[][] graph = GraphUtil.toAdjList(container, bonds);
          return symbolicTypes(container, graph, bonds, new HashSet<IBond>());
      }
focal_method.class_method_signature: MmffAtomTypeMatcher.symbolicTypes(final IAtomContainer container)
focal_method.full_signature:  String[] symbolicTypes(final IAtomContainer container)
focal_method.identifier: symbolicTypes
focal_method.invocations: withSpaceFor toAdjList symbolicTypes
focal_method.parameters: (final IAtomContainer container)
focal_method.return: String[]
focal_method.signature: String[] symbolicTypes(final IAtomContainer container)