test_class.file: base/isomorphism/src/test/java/org/openscience/cdk/isomorphism/UllmannStateTest.java
test_class.identifier: UllmannStateTest
test_case.body: @Test
      public void remove() throws Exception {
          UllmannState state = createBenzeneToNaphthalene(AtomMatcher.forAny(), BondMatcher.forAny());
          assertThat(state.matrix.fix(), is(new int[][]{{1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
                  {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
                  {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}));
          assertTrue(state.add(0, 0));
          assertTrue(state.add(1, 9));
          assertTrue(state.add(2, 8));
          assertTrue(state.add(3, 7));
          assertTrue(state.add(4, 2));
          assertTrue(state.add(5, 1));
          assertThat(state.matrix.fix(), is(new int[][]{{1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
                  {-1, -2, -1, -1, -1, -1, -1, -1, -1, 1}, {-3, -1, -2, -1, -1, -1, -1, -1, 1, -1},
                  {-1, -3, -1, -2, -1, -1, -1, 1, -1, -4}, {-4, -1, 1, -1, -1, -1, -1, -1, -5, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, -5}}));
          state.remove(5, 1);
          assertThat(state.matrix.fix(), is(new int[][]{{1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
                  {-1, -2, -1, -1, -1, -1, -1, -1, -1, 1}, {-3, -1, -2, -1, -1, -1, -1, -1, 1, -1},
                  {-1, -3, -1, -2, -1, -1, -1, 1, -1, -4}, {-4, -1, 1, -1, -1, -1, -1, -1, -5, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, -5}}));
          state.remove(4, 2);
          assertThat(state.matrix.fix(), is(new int[][]{{1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
                  {-1, -2, -1, -1, -1, -1, -1, -1, -1, 1}, {-3, -1, -2, -1, -1, -1, -1, -1, 1, -1},
                  {-1, -3, -1, -2, -1, -1, -1, 1, -1, -4}, {-4, -1, 1, -1, -1, -1, -1, -1, 1, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, 1}}));
          state.remove(3, 7);
          assertThat(state.matrix.fix(), is(new int[][]{{1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
                  {-1, -2, -1, -1, -1, -1, -1, -1, -1, 1}, {-3, -1, -2, -1, -1, -1, -1, -1, 1, -1},
                  {-1, -3, -1, -2, -1, -1, -1, 1, -1, 1}, {1, -1, 1, -1, -1, -1, -1, -1, 1, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, 1}}));
          state.remove(2, 8);
          assertThat(state.matrix.fix(), is(new int[][]{{1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
                  {-1, -2, -1, -1, -1, -1, -1, -1, -1, 1}, {1, -1, -2, -1, -1, -1, -1, -1, 1, -1},
                  {-1, 1, -1, -2, -1, -1, -1, 1, -1, 1}, {1, -1, 1, -1, -1, -1, -1, -1, 1, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, 1}}));
          state.remove(1, 9);
          assertThat(state.matrix.fix(), is(new int[][]{{1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, 1}, {1, -1, 1, -1, -1, -1, -1, -1, 1, -1},
                  {-1, 1, -1, 1, -1, -1, -1, 1, -1, 1}, {1, -1, 1, -1, -1, -1, -1, -1, 1, -1},
                  {-1, 1, -1, -1, -1, -1, -1, -1, -1, 1}}));
          state.remove(0, 0);
          assertThat(state.matrix.fix(), is(new int[][]{{1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
                  {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
                  {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}));
      }
test_case.class_method_signature: UllmannStateTest.remove()
test_case.full_signature: @Test public void remove()
test_case.identifier: remove
test_case.invocations: createBenzeneToNaphthalene forAny forAny assertThat fix is assertTrue add assertTrue add assertTrue add assertTrue add assertTrue add assertTrue add assertThat fix is remove assertThat fix is remove assertThat fix is remove assertThat fix is remove assertThat fix is remove assertThat fix is remove assertThat fix is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void remove()
focal_class.declarator: g1
focal_class.modifier: final
focal_class.original_string: final int[][]               g1, g2;
focal_class.type: int[][]
focal_class.var_name: g1
focal_class.declarator: bond1
focal_class.modifier: private final
focal_class.original_string: private final EdgeToBondMap bond1, bonds2;
focal_class.type: EdgeToBondMap
focal_class.var_name: bond1
focal_class.declarator: matrix
focal_class.modifier: final
focal_class.original_string: final CompatibilityMatrix   matrix;
focal_class.type: CompatibilityMatrix
focal_class.var_name: matrix
focal_class.declarator: m1
focal_class.modifier: final
focal_class.original_string: final int[]                 m1, m2;
focal_class.type: int[]
focal_class.var_name: m1
focal_class.declarator: size     = 0
focal_class.original_string: int                         size     = 0;
focal_class.type: int
focal_class.var_name: size
focal_class.declarator: bondMatcher
focal_class.modifier: private final
focal_class.original_string: private final BondMatcher   bondMatcher;
focal_class.type: BondMatcher
focal_class.var_name: bondMatcher
focal_class.declarator: UNMAPPED = -1
focal_class.modifier: private static
focal_class.original_string: private static int          UNMAPPED = -1;
focal_class.type: int
focal_class.var_name: UNMAPPED
focal_class.file: base/isomorphism/src/main/java/org/openscience/cdk/isomorphism/UllmannState.java
focal_class.identifier: UllmannState
focal_class.class_method_signature: UllmannState.UllmannState(IAtomContainer container1, IAtomContainer container2, int[][] g1, int[][] g2,
              EdgeToBondMap bonds1, EdgeToBondMap bonds2, AtomMatcher atomMatcher, BondMatcher bondMatcher)
focal_class.full_signature: public  UllmannState(IAtomContainer container1, IAtomContainer container2, int[][] g1, int[][] g2,
              EdgeToBondMap bonds1, EdgeToBondMap bonds2, AtomMatcher atomMatcher, BondMatcher bondMatcher)
focal_class.identifier: UllmannState
focal_class.modifiers: public
focal_class.parameters: (IAtomContainer container1, IAtomContainer container2, int[][] g1, int[][] g2,
              EdgeToBondMap bonds1, EdgeToBondMap bonds2, AtomMatcher atomMatcher, BondMatcher bondMatcher)
focal_class.signature:  UllmannState(IAtomContainer container1, IAtomContainer container2, int[][] g1, int[][] g2,
              EdgeToBondMap bonds1, EdgeToBondMap bonds2, AtomMatcher atomMatcher, BondMatcher bondMatcher)
focal_class.class_method_signature: UllmannState.nextN(int n)
focal_class.full_signature: @Override int nextN(int n)
focal_class.identifier: nextN
focal_class.modifiers: @Override
focal_class.parameters: (int n)
focal_class.return: int
focal_class.signature: int nextN(int n)
focal_class.class_method_signature: UllmannState.nextM(int n, int m)
focal_class.full_signature: @Override int nextM(int n, int m)
focal_class.identifier: nextM
focal_class.modifiers: @Override
focal_class.parameters: (int n, int m)
focal_class.return: int
focal_class.signature: int nextM(int n, int m)
focal_class.class_method_signature: UllmannState.nMax()
focal_class.full_signature: @Override int nMax()
focal_class.identifier: nMax
focal_class.modifiers: @Override
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int nMax()
focal_class.class_method_signature: UllmannState.mMax()
focal_class.full_signature: @Override int mMax()
focal_class.identifier: mMax
focal_class.modifiers: @Override
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int mMax()
focal_class.class_method_signature: UllmannState.add(int n, int m)
focal_class.full_signature: @Override boolean add(int n, int m)
focal_class.identifier: add
focal_class.modifiers: @Override
focal_class.parameters: (int n, int m)
focal_class.return: boolean
focal_class.signature: boolean add(int n, int m)
focal_class.class_method_signature: UllmannState.remove(int n, int m)
focal_class.full_signature: @Override void remove(int n, int m)
focal_class.identifier: remove
focal_class.modifiers: @Override
focal_class.parameters: (int n, int m)
focal_class.return: void
focal_class.signature: void remove(int n, int m)
focal_class.class_method_signature: UllmannState.refine(int row)
focal_class.full_signature: private boolean refine(int row)
focal_class.identifier: refine
focal_class.modifiers: private
focal_class.parameters: (int row)
focal_class.return: boolean
focal_class.signature: boolean refine(int row)
focal_class.class_method_signature: UllmannState.verify(int n, int m)
focal_class.full_signature: private boolean verify(int n, int m)
focal_class.identifier: verify
focal_class.modifiers: private
focal_class.parameters: (int n, int m)
focal_class.return: boolean
focal_class.signature: boolean verify(int n, int m)
focal_class.class_method_signature: UllmannState.hasCandidate(int n)
focal_class.full_signature: private boolean hasCandidate(int n)
focal_class.identifier: hasCandidate
focal_class.modifiers: private
focal_class.parameters: (int n)
focal_class.return: boolean
focal_class.signature: boolean hasCandidate(int n)
focal_class.class_method_signature: UllmannState.mapping()
focal_class.full_signature: @Override int[] mapping()
focal_class.identifier: mapping
focal_class.modifiers: @Override
focal_class.parameters: ()
focal_class.return: int[]
focal_class.signature: int[] mapping()
focal_class.class_method_signature: UllmannState.size()
focal_class.full_signature: @Override int size()
focal_class.identifier: size
focal_class.modifiers: @Override
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int size()
focal_class.superclass: extends State
focal_method.body: @Override
      void remove(int n, int m) {
          size--;
          m1[n] = m2[m] = UNMAPPED;
          matrix.resetRows(n, -(n + 1));
      }
focal_method.class_method_signature: UllmannState.remove(int n, int m)
focal_method.full_signature: @Override void remove(int n, int m)
focal_method.identifier: remove
focal_method.invocations: resetRows
focal_method.modifiers: @Override
focal_method.parameters: (int n, int m)
focal_method.return: void
focal_method.signature: void remove(int n, int m)