Schedule { @NonNull public static Builder<Actions> newBuilder(@NonNull Actions actions) { return new Builder<>(TYPE_ACTION, actions); } private  Schedule(@NonNull Builder<T> builder); @NonNull String getId(); @NonNull JsonMap getMetadata(); @Nullable Audience getAudience(); @Type String getType(); @NonNull List<Trigger> getTriggers(); T getData(); @NonNull @SuppressWarnings("unchecked") @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) R coerceType(); int getLimit(); int getPriority(); @Nullable String getGroup(); long getStart(); long getEnd(); @Nullable ScheduleDelay getDelay(); long getEditGracePeriod(); long getInterval(); @NonNull static Builder<Actions> newBuilder(@NonNull Actions actions); @NonNull static Builder<InAppMessage> newBuilder(@NonNull InAppMessage message); @NonNull static Builder<T> newBuilder(@NonNull Schedule<T> schedule); @Override boolean equals(@Nullable Object o); @Override int hashCode(); @Override @NonNull String toString(); @NonNull
    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    static final String TYPE_IN_APP_MESSAGE; @NonNull
    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    static final String TYPE_ACTION; @NonNull
    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    static final String TYPE_DEFERRED; static final long TRIGGER_LIMIT; }
@Test(expected = IllegalArgumentException.class) public void testEndBeforeStart() { Schedule.newBuilder(message) .addTrigger(trigger) .setEnd(100) .setStart(1000) .build(); }
@Test(expected = IllegalArgumentException.class) public void testMissingTrigger() { Schedule.newBuilder(actions) .build(); }
@Test(expected = IllegalArgumentException.class) public void testTooManyTriggers() { List<Trigger> triggers = new ArrayList<>(); for (int i = 0; i <= 11; i++) { triggers.add(trigger); } Schedule.newBuilder(message) .addTriggers(triggers) .build(); }