mirror of https://github.com/tasks/tasks
parent
9472c796db
commit
4a3d74dcfb
@ -1,87 +0,0 @@
|
|||||||
package org.tasks;
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
|
||||||
import android.test.AndroidTestCase;
|
|
||||||
|
|
||||||
import org.tasks.time.DateTime;
|
|
||||||
import org.tasks.preferences.Preferences;
|
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import static org.tasks.Notifier.isQuietHours;
|
|
||||||
import static org.tasks.Freeze.freezeAt;
|
|
||||||
import static org.tasks.Freeze.thaw;
|
|
||||||
|
|
||||||
public class NotifierTests 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(), null, null);
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -0,0 +1,139 @@
|
|||||||
|
package org.tasks.scheduling;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
|
import android.test.AndroidTestCase;
|
||||||
|
|
||||||
|
import org.tasks.R;
|
||||||
|
import org.tasks.preferences.Preferences;
|
||||||
|
import org.tasks.time.DateTime;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
public class AlarmManagerTests extends AndroidTestCase {
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
private static final int MILLIS_PER_HOUR = (int) TimeUnit.HOURS.toMillis(1);
|
||||||
|
|
||||||
|
private Preferences preferences;
|
||||||
|
private AlarmManager alarmManager;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setUp() {
|
||||||
|
preferences = new Preferences(getContext(), null, null);
|
||||||
|
preferences.clear();
|
||||||
|
preferences.setBoolean(R.string.p_rmd_enable_quiet, true);
|
||||||
|
alarmManager = new AlarmManager(getContext(), preferences);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testNotQuietWhenQuietHoursDisabled() {
|
||||||
|
preferences.setBoolean(R.string.p_rmd_enable_quiet, false);
|
||||||
|
setQuietHoursStart(22);
|
||||||
|
setQuietHoursEnd(10);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 8, 0, 1).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsQuietAtStartOfQuietHoursNoWrap() {
|
||||||
|
setQuietHoursStart(18);
|
||||||
|
setQuietHoursEnd(19);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 18, 0, 1).getMillis();
|
||||||
|
|
||||||
|
assertEquals(new DateTime(2015, 12, 29, 19, 0).getMillis(),
|
||||||
|
alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsQuietAtStartOfQuietHoursWrap() {
|
||||||
|
setQuietHoursStart(22);
|
||||||
|
setQuietHoursEnd(10);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 22, 0, 1).getMillis();
|
||||||
|
|
||||||
|
assertEquals(new DateTime(2015, 12, 30, 10, 0).getMillis(),
|
||||||
|
alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAdjustForQuietHoursNightWrap() {
|
||||||
|
setQuietHoursStart(22);
|
||||||
|
setQuietHoursEnd(10);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 23, 30).getMillis();
|
||||||
|
|
||||||
|
assertEquals(new DateTime(2015, 12, 30, 10, 0).getMillis(),
|
||||||
|
alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAdjustForQuietHoursMorningWrap() {
|
||||||
|
setQuietHoursStart(22);
|
||||||
|
setQuietHoursEnd(10);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 30, 7, 15).getMillis();
|
||||||
|
|
||||||
|
assertEquals(new DateTime(2015, 12, 30, 10, 0).getMillis(),
|
||||||
|
alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAdjustForQuietHoursWhenStartAndEndAreSame() {
|
||||||
|
setQuietHoursStart(18);
|
||||||
|
setQuietHoursEnd(18);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 18, 0, 0).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsNotQuietAtEndOfQuietHoursNoWrap() {
|
||||||
|
setQuietHoursStart(17);
|
||||||
|
setQuietHoursEnd(18);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 18, 0).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsNotQuietAtEndOfQuietHoursWrap() {
|
||||||
|
setQuietHoursStart(22);
|
||||||
|
setQuietHoursEnd(10);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 10, 0).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsNotQuietBeforeNoWrap() {
|
||||||
|
setQuietHoursStart(17);
|
||||||
|
setQuietHoursEnd(18);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 11, 30).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsNotQuietAfterNoWrap() {
|
||||||
|
setQuietHoursStart(17);
|
||||||
|
setQuietHoursEnd(18);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 22, 15).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testIsNotQuietWrap() {
|
||||||
|
setQuietHoursStart(22);
|
||||||
|
setQuietHoursEnd(10);
|
||||||
|
|
||||||
|
long dueDate = new DateTime(2015, 12, 29, 13, 45).getMillis();
|
||||||
|
|
||||||
|
assertEquals(dueDate, alarmManager.adjustForQuietHours(dueDate));
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue