### Question:
Node implements Comparable<Node> { @Override public boolean equals(Object object) { if (this == object) { return true; } if (object == null || object.getClass() != getClass()) { return false; } final Node node = (Node) object; return x == node.x && y == node.y; } Node(int x, int y); int setParent(Node parent); void setCost(double cost); void setHeuristic(double heuristic); void setDepth(int depth); int getX(); int getY(); double getCost(); Node getParent(); double getHeuristic(); int getDepth(); @Override int compareTo(Node other); @Override boolean equals(Object object); @Override int hashCode(); @Override String toString(); String toStringCoordinates();  }### Answer:
@Test void testEquals() { final Node node = new Node(0, 1); node.setDepth(1); assertEquals(node, node); assertNotEquals(node, null); assertNotEquals(node, new Object()); assertEquals(node, new Node(0, 1)); assertNotEquals(node, new Node(0, 0)); assertNotEquals(node, new Node(1, 1)); assertNotEquals(node, new Node(1, 0)); }