### Question:
SolutionSynchronizer extends RunnableBase { protected long calculateNextUnchangedPeriodTime(Duration unchangedPeriodTimeoutShift) { return getSystemTime() + unchangedPeriodTimeoutShift.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 calculateNextUnchangedPeriodTime() { long expectedValue = SYSTEM_TIME + 5000; calculateNextUnchangedPeriodTime(Duration.ofMillis(5000), SYSTEM_TIME, expectedValue); }