UllmannState extends State { @Override int nextM(int n, int m) { for (int i = m + 1; i < g2.length; i++) if (m2[i] == UNMAPPED) return i; return g2.length; } UllmannState(IAtomContainer container1, IAtomContainer container2, int[][] g1, int[][] g2,
            EdgeToBondMap bonds1, EdgeToBondMap bonds2, AtomMatcher atomMatcher, BondMatcher bondMatcher);   }
@Test public void testNextM() throws Exception { UllmannState state = createBenzeneToNaphthalene(AtomMatcher.forAny(), BondMatcher.forAny()); assertThat(state.nextM(0, -1), is(0)); assertThat(state.nextM(0, 0), is(1)); assertThat(state.nextM(0, 1), is(2)); state.m2[1] = 0; assertThat(state.nextM(0, 0), is(2)); }