### Question:
Move implements Serializable { @Override public boolean equals(final Object pObjet) { if (this == pObjet) { return true; } if (pObjet instanceof Move) { final Move m = (Move) pObjet; return (_from == m._from) && (_piece == m._piece) && (_to == m._to) && (_captured == m._captured); } return false; } Move(final Piece pPiece, final Square pOrigine, final Square pDestination);  Move(final Piece pPiece, final Square pOrigine, final Square pDestination,
      final Piece pPrise); @Override boolean equals(final Object pObjet); Piece getCaptured(); Square getFrom(); Piece getPiece(); Square getTo(); @Override int hashCode(); int toId(); @Override String toString(); static Move valueOf(final int pId);  }### Answer:
@Test public void testEquals() { final Move mvt1 = new Move(BLACK_PAWN, Square.valueOf("a2"), Square.valueOf("a4")); final Move mvt2 = new Move(BLACK_PAWN, Square.valueOf(8), Square.valueOf(24)); final Move mvt3 = new Move(BLACK_PAWN, Square.valueOf(8), Square.valueOf(16)); assertSame(mvt1, mvt1); assertEquals(mvt1, mvt1); assertNotSame(mvt1, mvt2); assertEquals(mvt1, mvt2); assertEquals(mvt2, mvt1); assertNotSame(mvt1, mvt3); assertFalse(mvt1.equals(mvt3)); assertFalse(mvt3.equals(mvt1)); assertNotSame(mvt2, mvt3); assertFalse(mvt2.equals(mvt3)); assertFalse(mvt3.equals(mvt2)); assertFalse(mvt1.equals(null)); }