AutomationEngine { public void checkPendingSchedules() { if (isStarted) { onScheduleConditionsChanged(); } } AutomationEngine(@NonNull Context context,
                     @NonNull AirshipRuntimeConfig runtimeConfig,
                     @NonNull Analytics analytics,
                     @NonNull PreferenceDataStore dataStore); @VisibleForTesting  AutomationEngine(@NonNull Analytics analytics,
                     @NonNull ActivityMonitor activityMonitor,
                     @NonNull OperationScheduler scheduler,
                     @NonNull AutomationDao dao,
                     @NonNull LegacyDataMigrator legacyDataMigrator); void start(@NonNull AutomationDriver driver); void setPaused(boolean isPaused); void stop(); @NonNull PendingResult<Boolean> schedule(@NonNull final Schedule<? extends ScheduleData> schedule); @NonNull PendingResult<Boolean> schedule(@NonNull final List<Schedule<? extends ScheduleData>> schedules); @NonNull PendingResult<Boolean> cancel(@NonNull final Collection<String> ids); @NonNull PendingResult<Boolean> cancelByType(@NonNull @Schedule.Type final String type); @NonNull PendingResult<Boolean> cancelGroup(@NonNull final String group); @NonNull PendingResult<Void> cancelGroups(@NonNull final Collection<String> groups); @NonNull PendingResult<Void> cancelAll(); @NonNull PendingResult<Collection<Schedule<T>>> getSchedulesByType(@Schedule.Type final String type); @NonNull PendingResult<Schedule<T>> getSchedule(@NonNull final String scheduleId, @Schedule.Type final String type); @NonNull PendingResult<Collection<Schedule<? extends ScheduleData>>> getSchedules(@NonNull final Set<String> scheduleIds); @NonNull PendingResult<Collection<Schedule<T>>> getSchedules(@NonNull final String group, @NonNull @Schedule.Type final String type); @NonNull PendingResult<Boolean> editSchedule(@NonNull final String scheduleId, @NonNull final ScheduleEdits<? extends ScheduleData> edits); void checkPendingSchedules(); @NonNull PendingResult<Collection<Schedule<? extends ScheduleData>>> getSchedules(); void setScheduleListener(@Nullable ScheduleListener scheduleListener); void applyEdits(@NonNull FullSchedule entry, @NonNull ScheduleEdits edits);  }
@Test public void testOnScheduleChangeBeforeEngineStarts() { automationEngine = new AutomationEngine(UAirship.shared().getAnalytics(), activityMonitor, handlerScheduler, dao, mockDataMigrator); automationEngine.checkPendingSchedules(); }