test_class.file: base/isomorphism/src/test/java/org/openscience/cdk/isomorphism/AbstractVFStateTest.java
test_class.identifier: AbstractVFStateTest
test_case.body: @Test
      public void nextNTerminal() {
          AbstractVFState state = create(5, 10);
          state.size = 2;
          state.m1[0] = 1;
          state.m1[1] = 0;
          state.t1[4] = 1; // <- first terminal
          assertThat(state.nextN(-1), is(4));
      }
test_case.class_method_signature: AbstractVFStateTest.nextNTerminal()
test_case.full_signature: @Test public void nextNTerminal()
test_case.identifier: nextNTerminal
test_case.invocations: create assertThat nextN is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void nextNTerminal()
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 int nextN(int n) {
          if (size == 0) return 0;
          for (int i = n + 1; i < g1.length; i++)
              if (m1[i] == UNMAPPED && t1[i] > 0) return i;
          for (int i = n + 1; i < g1.length; i++)
              if (m1[i] == UNMAPPED) return i;
          return nMax();
      }
focal_method.class_method_signature: AbstractVFState.nextN(int n)
focal_method.full_signature: @Override final int nextN(int n)
focal_method.identifier: nextN
focal_method.invocations: nMax
focal_method.modifiers: @Override final
focal_method.parameters: (int n)
focal_method.return: int
focal_method.signature: int nextN(int n)