### Question:
SolutionSynchronizer extends RunnableBase { protected long calculateNextUsersSyncTime() { return getSystemTime() + usersSyncInterval.toMillis(); } SolutionSynchronizer(final SolverExecutor solverExecutor,
                                final TaskAssigningRuntimeDelegate delegate,
                                final UserSystemService userSystem,
                                final Duration syncInterval,
                                final Duration usersSyncInterval,
                                final SolverHandlerContext context,
                                final Consumer<Result> resultConsumer); void initSolverExecutor(); void synchronizeSolution(TaskAssigningSolution solution, LocalDateTime fromLastModificationDate); void synchronizeSolution(TaskAssigningSolution solution, LocalDateTime fromLastModificationDate, Duration unchangedPeriodTimeout); @Override void destroy(); @Override void run();  }### Answer:
@Test public void calculateNextUsersSyncTime() { long expectedValue = SYSTEM_TIME + 4000; calculateNextUsersSyncTime(USERS_SYNCH_INTERVAL, SYSTEM_TIME, expectedValue); }