You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tasks/src/androidTest/java/com/todoroo/astrid/reminders/NotificationsTest.java

89 lines
2.3 KiB
Java

package com.todoroo.astrid.reminders;
import android.annotation.SuppressLint;
import android.test.AndroidTestCase;
import org.joda.time.DateTime;
import org.tasks.R;
import org.tasks.preferences.Preferences;
import java.util.concurrent.TimeUnit;
import static com.todoroo.astrid.reminders.ShowNotificationReceiver.isQuietHours;
import static org.tasks.Freeze.freezeAt;
import static org.tasks.Freeze.thaw;
public class NotificationsTest extends AndroidTestCase {
@SuppressLint("NewApi")
private static final int MILLIS_PER_HOUR = (int) TimeUnit.HOURS.toMillis(1);
private static final DateTime now = new DateTime(2014, 1, 23, 18, 8, 31, 540);
private Preferences preferences;
@Override
public void setUp() {
preferences = new Preferences(getContext());
preferences.clear();
preferences.setBoolean(R.string.p_rmd_enable_quiet, true);
freezeAt(now);
}
@Override
public void tearDown() {
thaw();
}
public void testNotQuietWhenQuietHoursDisabled() {
preferences.setBoolean(R.string.p_rmd_enable_quiet, false);
setQuietHoursStart(18);
setQuietHoursEnd(19);
assertFalse(isQuietHours(preferences));
}
public void testIsQuietAtStartOfQuietHoursNoTimeWrap() {
setQuietHoursStart(18);
setQuietHoursEnd(19);
assertTrue(isQuietHours(preferences));
}
public void testIsNotQuietWhenStartAndEndAreSame() {
setQuietHoursStart(18);
setQuietHoursEnd(18);
assertFalse(isQuietHours(preferences));
}
public void testIsNotQuietAtEndOfQuietHoursNoTimeWrap() {
setQuietHoursStart(17);
setQuietHoursEnd(18);
assertFalse(isQuietHours(preferences));
}
public void testIsQuietAtStartOfQuietHoursTimeWrap() {
setQuietHoursStart(18);
setQuietHoursEnd(9);
assertTrue(isQuietHours(preferences));
}
public void testIsNotQuietAtEndOfQuietHoursTimeWrap() {
setQuietHoursStart(19);
setQuietHoursEnd(18);
assertFalse(isQuietHours(preferences));
}
private void setQuietHoursStart(int hour) {
preferences.setInt(R.string.p_rmd_quietStart, hour * MILLIS_PER_HOUR);
}
private void setQuietHoursEnd(int hour) {
preferences.setInt(R.string.p_rmd_quietEnd, hour * MILLIS_PER_HOUR);
}
}