### Question:
GraphOperation extends AbstractOperation { @Override public int hashCode() { return Long.valueOf(getUnsafeNativeHandle().address()).hashCode(); } GraphOperation(Graph g, TF_Operation unsafeNativeHandle); @Override String name(); @Override String type(); @Override int numOutputs(); @Override int outputListLength(final String name); @Override int hashCode(); @Override boolean equals(Object o); @Override int inputListLength(final String name);  }### Answer:
@Test public void outputEquality() { try (Graph g = new Graph()) { Ops tf = Ops.create(g); Output<TInt32> output = tf.withName("c").constant(1).asOutput(); Output<TInt32> output1 = output.op().output(0); Output<TInt32> output2 = g.operation("c").output(0); assertEquals(output, output1); assertEquals(output.hashCode(), output1.hashCode()); assertEquals(output, output2); assertEquals(output.hashCode(), output2.hashCode()); } }