### Question:
BlockProductionDuty implements Duty { public SafeFuture<BLSSignature> createRandaoReveal(final ForkInfo forkInfo) { return validator.getSigner().createRandaoReveal(compute_epoch_at_slot(slot), forkInfo); } BlockProductionDuty(
      final Validator validator,
      final UInt64 slot,
      final ForkProvider forkProvider,
      final ValidatorApiChannel validatorApiChannel); @Override SafeFuture<DutyResult> performDuty(); @Override String getProducedType(); SafeFuture<DutyResult> produceBlock(final ForkInfo forkInfo); SafeFuture<Optional<BeaconBlock>> createUnsignedBlock(final BLSSignature randaoReveal); SafeFuture<BLSSignature> createRandaoReveal(final ForkInfo forkInfo); SafeFuture<SignedBeaconBlock> signBlock(
      final ForkInfo forkInfo, final Optional<BeaconBlock> unsignedBlock); @Override String toString();  }### Answer:
@Test public void shouldFailWhenCreateRandaoFails() { final RuntimeException error = new RuntimeException("Sorry!"); when(signer.createRandaoReveal(compute_epoch_at_slot(SLOT), fork)) .thenReturn(failedFuture(error)); assertDutyFails(error); }