test_class.file: legacy/src/test/java/org/openscience/cdk/isomorphism/matchers/smarts/ExplicitConnectionAtomTest.java
test_class.identifier: ExplicitConnectionAtomTest
test_case.body: @Test
      public void matches() throws Exception {
          ExplicitConnectionAtom matcher = new ExplicitConnectionAtom(2, mock(IChemObjectBuilder.class));
          IAtom atom = mock(IAtom.class);
          when(atom.getProperty(SMARTSAtomInvariants.KEY)).thenReturn(
                  new SMARTSAtomInvariants(mock(IAtomContainer.class), 0, 0, Collections.<Integer> emptySet(), 0, 0, // <- degree not used due to old CDK bug
                          2, 0));
          assertTrue(matcher.matches(atom));
      }
test_case.class_method_signature: ExplicitConnectionAtomTest.matches()
test_case.full_signature: @Test public void matches()
test_case.identifier: matches
test_case.invocations: mock mock thenReturn when getProperty mock emptySet assertTrue matches
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void matches()
focal_class.declarator: degree
focal_class.modifier: private
focal_class.original_string: private int degree;
focal_class.type: int
focal_class.var_name: degree
focal_class.file: legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/ExplicitConnectionAtom.java
focal_class.identifier: ExplicitConnectionAtom
focal_class.class_method_signature: ExplicitConnectionAtom.ExplicitConnectionAtom(int degree, IChemObjectBuilder builder)
focal_class.full_signature: public  ExplicitConnectionAtom(int degree, IChemObjectBuilder builder)
focal_class.identifier: ExplicitConnectionAtom
focal_class.modifiers: public
focal_class.parameters: (int degree, IChemObjectBuilder builder)
focal_class.signature:  ExplicitConnectionAtom(int degree, IChemObjectBuilder builder)
focal_class.class_method_signature: ExplicitConnectionAtom.matches(IAtom atom)
focal_class.full_signature: @Override public boolean matches(IAtom atom)
focal_class.identifier: matches
focal_class.modifiers: @Override public
focal_class.parameters: (IAtom atom)
focal_class.return: boolean
focal_class.signature: boolean matches(IAtom atom)
focal_class.superclass: extends SMARTSAtom
focal_method.body: @Override
      public boolean matches(IAtom atom) {
          // XXX: this is incorrect but bug 824 expects this behaviour. The reason
          //      Daylight matches is because the explicit hydrogens are
          //      suppressed by default turning on explicit hydrogens in depict
          //      match shows correct functionality. Discussion needed to revert
          //      but because other invariants aren't adjusted (implicit h) we
          //      can't really do this and the correct option is to enable/disable
          //      hydrogen suppression (removal of explicit H atoms) as a prepossessing
          //      step
          return invariants(atom).connectivity() - invariants(atom).totalHydrogenCount() == degree;
      }
focal_method.class_method_signature: ExplicitConnectionAtom.matches(IAtom atom)
focal_method.full_signature: @Override public boolean matches(IAtom atom)
focal_method.identifier: matches
focal_method.invocations: connectivity invariants totalHydrogenCount invariants
focal_method.modifiers: @Override public
focal_method.parameters: (IAtom atom)
focal_method.return: boolean
focal_method.signature: boolean matches(IAtom atom)