test_class.file: base/isomorphism/src/test/java/org/openscience/cdk/isomorphism/AbstractVFStateTest.java
test_class.identifier: AbstractVFStateTest
test_case.body: @Test
      public void remove() {
          int[][] g1 = new int[][]{{1}, {0, 2}, {1, 3}, {2}};
          int[][] g2 = new int[][]{{1}, {0, 2}, {1, 3}, {2, 4}, {3, 5}, {4}};
          AbstractVFState state = create(g1, g2);
          state.size = 2;
          // see add()
          state.m1[0] = 1;
          state.m1[1] = 2;
          state.m2[1] = 0;
          state.m2[2] = 1;
          state.t1[0] = 2;
          state.t1[1] = 1;
          state.t1[2] = 2;
          state.t2[0] = 1;
          state.t2[1] = 2;
          state.t2[2] = 1;
          state.t2[3] = 2;
          assertThat(state.size, is(2));
          assertThat(state.m1, is(new int[]{1, 2, UNMAPPED, UNMAPPED}));
          assertThat(state.m2, is(new int[]{UNMAPPED, 0, 1, UNMAPPED, UNMAPPED, UNMAPPED}));
          assertThat(state.t1, is(new int[]{2, 1, 2, 0}));
          assertThat(state.t2, is(new int[]{1, 2, 1, 2, 0, 0}));
          state.remove(1, 2);
          assertThat(state.size, is(1));
          assertThat(state.m1, is(new int[]{1, UNMAPPED, UNMAPPED, UNMAPPED}));
          assertThat(state.m2, is(new int[]{UNMAPPED, 0, UNMAPPED, UNMAPPED, UNMAPPED, UNMAPPED}));
          assertThat(state.t1, is(new int[]{0, 1, 0, 0}));
          assertThat(state.t2, is(new int[]{1, 0, 1, 0, 0, 0}));
          state.remove(0, 1);
          assertThat(state.size, is(0));
          assertThat(state.m1, is(new int[]{UNMAPPED, UNMAPPED, UNMAPPED, UNMAPPED}));
          assertThat(state.m2, is(new int[]{UNMAPPED, UNMAPPED, UNMAPPED, UNMAPPED, UNMAPPED, UNMAPPED}));
          assertThat(state.t1, is(new int[]{0, 0, 0, 0}));
          assertThat(state.t2, is(new int[]{0, 0, 0, 0, 0, 0}));
      }
test_case.class_method_signature: AbstractVFStateTest.remove()
test_case.full_signature: @Test public void remove()
test_case.identifier: remove
test_case.invocations: create assertThat is assertThat is assertThat is assertThat is assertThat is remove assertThat is assertThat is assertThat is assertThat is assertThat is remove assertThat is assertThat is assertThat is assertThat is assertThat is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void remove()
focal_class.declarator: UNMAPPED = -1
focal_class.modifier: protected static final
focal_class.original_string: protected static final int UNMAPPED = -1;
focal_class.type: int
focal_class.var_name: UNMAPPED
focal_class.declarator: g1
focal_class.modifier: protected final
focal_class.original_string: protected final int[][]    g1, g2;
focal_class.type: int[][]
focal_class.var_name: g1
focal_class.declarator: m1
focal_class.modifier: protected final
focal_class.original_string: protected final int[]      m1, m2;
focal_class.type: int[]
focal_class.var_name: m1
focal_class.declarator: t1
focal_class.modifier: protected final
focal_class.original_string: protected final int[]      t1, t2;
focal_class.type: int[]
focal_class.var_name: t1
focal_class.declarator: size
focal_class.modifier: protected
focal_class.original_string: protected int              size;
focal_class.type: int
focal_class.var_name: size
focal_class.file: base/isomorphism/src/main/java/org/openscience/cdk/isomorphism/AbstractVFState.java
focal_class.identifier: AbstractVFState
focal_class.class_method_signature: AbstractVFState.AbstractVFState(final int[][] g1, final int[][] g2)
focal_class.full_signature: public  AbstractVFState(final int[][] g1, final int[][] g2)
focal_class.identifier: AbstractVFState
focal_class.modifiers: public
focal_class.parameters: (final int[][] g1, final int[][] g2)
focal_class.signature:  AbstractVFState(final int[][] g1, final int[][] g2)
focal_class.class_method_signature: AbstractVFState.nextN(int n)
focal_class.full_signature: @Override final int nextN(int n)
focal_class.identifier: nextN
focal_class.modifiers: @Override final
focal_class.parameters: (int n)
focal_class.return: int
focal_class.signature: int nextN(int n)
focal_class.class_method_signature: AbstractVFState.nextM(int n, int m)
focal_class.full_signature: @Override final int nextM(int n, int m)
focal_class.identifier: nextM
focal_class.modifiers: @Override final
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: AbstractVFState.nMax()
focal_class.full_signature: @Override final int nMax()
focal_class.identifier: nMax
focal_class.modifiers: @Override final
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int nMax()
focal_class.class_method_signature: AbstractVFState.mMax()
focal_class.full_signature: @Override final int mMax()
focal_class.identifier: mMax
focal_class.modifiers: @Override final
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int mMax()
focal_class.class_method_signature: AbstractVFState.add(int n, int m)
focal_class.full_signature: @Override final boolean add(int n, int m)
focal_class.identifier: add
focal_class.modifiers: @Override final
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: AbstractVFState.remove(int n, int m)
focal_class.full_signature: @Override final void remove(int n, int m)
focal_class.identifier: remove
focal_class.modifiers: @Override final
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: AbstractVFState.feasible(int n, int m)
focal_class.full_signature: abstract boolean feasible(int n, int m)
focal_class.identifier: feasible
focal_class.modifiers: abstract
focal_class.parameters: (int n, int m)
focal_class.return: boolean
focal_class.signature: boolean feasible(int n, int m)
focal_class.class_method_signature: AbstractVFState.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: AbstractVFState.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
      final void remove(int n, int m) {
          m1[n] = m2[m] = UNMAPPED;
          size = size - 1;
          for (int w : g1[n])
              if (t1[w] > size) t1[w] = 0;
          for (int w : g2[m])
              if (t2[w] > size) t2[w] = 0;
      }
focal_method.class_method_signature: AbstractVFState.remove(int n, int m)
focal_method.full_signature: @Override final void remove(int n, int m)
focal_method.identifier: remove
focal_method.modifiers: @Override final
focal_method.parameters: (int n, int m)
focal_method.return: void
focal_method.signature: void remove(int n, int m)