Edge { public int other(final int x) { return x ^ xor; } Edge(final int u, final int v, final Bond bond);   Edge(Edge e); int either(); int other(final int x); Bond bond(); Bond bond(final int x); @Override int hashCode(); @Override boolean equals(Object other); @Override String toString();  }
@Test public void other() throws Exception { assertThat(new Edge(2, 3, Bond.IMPLICIT).other(2), is(3)); assertThat(new Edge(2, 3, Bond.IMPLICIT).other(3), is(2)); assertThat(new Edge(3, 2, Bond.IMPLICIT).other(2), is(3)); assertThat(new Edge(3, 2, Bond.IMPLICIT).other(3), is(2)); }