### Question:
SlashingProtectedSigner implements Signer { @Override public SafeFuture<BLSSignature> signAggregationSlot(final UInt64 slot, final ForkInfo forkInfo) { return delegate.signAggregationSlot(slot, forkInfo); } SlashingProtectedSigner(
      final BLSPublicKey validatorPublicKey,
      final SlashingProtector slashingProtector,
      final Signer delegate); @Override SafeFuture<BLSSignature> signBlock(final BeaconBlock block, final ForkInfo forkInfo); @Override SafeFuture<BLSSignature> signAttestationData(
      final AttestationData attestationData, final ForkInfo forkInfo); @Override SafeFuture<BLSSignature> createRandaoReveal(final UInt64 epoch, final ForkInfo forkInfo); @Override SafeFuture<BLSSignature> signAggregationSlot(final UInt64 slot, final ForkInfo forkInfo); @Override SafeFuture<BLSSignature> signAggregateAndProof(
      final AggregateAndProof aggregateAndProof, final ForkInfo forkInfo); @Override SafeFuture<BLSSignature> signVoluntaryExit(
      final VoluntaryExit voluntaryExit, final ForkInfo forkInfo); @Override boolean isLocal();  }### Answer:
@Test void signAggregationSlot_shouldAlwaysSign() { when(delegate.signAggregationSlot(UInt64.ONE, forkInfo)).thenReturn(signatureFuture); assertThatSafeFuture(signer.signAggregationSlot(UInt64.ONE, forkInfo)) .isCompletedWithValue(signature); }