### Question:
SyncController { public long subscribeToSyncChanges(final SyncSubscriber subscriber) { return subscribers.subscribe(subscriber); } SyncController(
      final EventThread eventThread,
      final Executor subscriberExecutor,
      final RecentChainData recentChainData,
      final ChainSelector finalizedTargetChainSelector,
      final ChainSelector nonfinalizedTargetChainSelector,
      final Sync sync); void onTargetChainsUpdated(); boolean isSyncActive(); SyncingStatus getSyncStatus(); long subscribeToSyncChanges(final SyncSubscriber subscriber); void unsubscribeFromSyncChanges(final long subscriberId);  }### Answer:
@Test void shouldNotifySubscribersWhenSyncStatusChanges() { final SyncSubscriber subscriber = mock(SyncSubscriber.class); syncController.subscribeToSyncChanges(subscriber); final SafeFuture<SyncResult> syncResult = startFinalizedSync(); assertSyncSubscriberNotified(subscriber, true); syncResult.complete(SyncResult.COMPLETE); assertSyncSubscriberNotified(subscriber, false); }