### Question:
BeaconBlock implements Merkleizable, SimpleOffsetSerializable, SSZContainer { @Override public boolean equals(Object obj) { if (Objects.isNull(obj)) { return false; } if (this == obj) { return true; } if (!(obj instanceof BeaconBlock)) { return false; } BeaconBlock other = (BeaconBlock) obj; return Objects.equals(this.getSlot(), other.getSlot()) && Objects.equals(this.getProposer_index(), other.getProposer_index()) && Objects.equals(this.getParent_root(), other.getParent_root()) && Objects.equals(this.getState_root(), other.getState_root()) && Objects.equals(this.getBody(), other.getBody()); } BeaconBlock(
      UInt64 slot,
      UInt64 proposer_index,
      Bytes32 parent_root,
      Bytes32 state_root,
      BeaconBlockBody body);  BeaconBlock(BeaconBlock block, Bytes32 stateRoot);  BeaconBlock();  BeaconBlock(Bytes32 state_root); @Override int getSSZFieldCount(); @Override List<Bytes> get_fixed_parts(); @Override List<Bytes> get_variable_parts(); @Override int hashCode(); @Override boolean equals(Object obj); BeaconBlockBody getBody(); Bytes32 getState_root(); Bytes32 getParent_root(); UInt64 getSlot(); UInt64 getProposer_index(); @Override Bytes32 hash_tree_root(); Bytes32 calculateRoot(); @Override String toString(); static final int SSZ_FIELD_COUNT; }### Answer:
@Test void equalsReturnsFalseWhenBeaconBlockBodiesAreDifferent() { BeaconBlockBody otherBody = dataStructureUtil.randomBeaconBlockBody(); while (Objects.equals(otherBody, body)) { otherBody = dataStructureUtil.randomBeaconBlockBody(); } BeaconBlock testBeaconBlock = new BeaconBlock(slot, proposer_index, previous_root, state_root, otherBody); assertNotEquals(beaconBlock, testBeaconBlock); }