### Question:
SyncSourceBatch implements Batch { @Override public void markFirstBlockConfirmed() { firstBlockConfirmed = true; } SyncSourceBatch(
      final EventThread eventThread,
      final SyncSourceSelector syncSourceProvider,
      final ConflictResolutionStrategy conflictResolutionStrategy,
      final TargetChain targetChain,
      final UInt64 firstSlot,
      final UInt64 count); @Override UInt64 getFirstSlot(); @Override UInt64 getLastSlot(); @Override Optional<SignedBeaconBlock> getFirstBlock(); @Override Optional<SignedBeaconBlock> getLastBlock(); @Override List<SignedBeaconBlock> getBlocks(); @Override void markComplete(); @Override boolean isComplete(); @Override boolean isConfirmed(); @Override boolean isFirstBlockConfirmed(); @Override boolean isContested(); @Override boolean isEmpty(); @Override boolean isAwaitingBlocks(); @Override void markFirstBlockConfirmed(); @Override void markLastBlockConfirmed(); @Override void markAsContested(); @Override void markAsInvalid(); @Override void requestMoreBlocks(final Runnable callback); @Override TargetChain getTargetChain(); @Override String toString();  }### Answer:
@Test void isFirstBlockConfirmed_shouldBeTrueOnlyAfterBeingMarked() { final Batch batch = createBatch(1, 3); assertThatBatch(batch).hasUnconfirmedFirstBlock(); batch.markFirstBlockConfirmed(); assertThatBatch(batch).hasConfirmedFirstBlock(); }