mirror of https://github.com/tasks/tasks
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.
127 lines
3.3 KiB
Java
127 lines
3.3 KiB
Java
package com.todoroo.astrid.utility;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.test.AndroidTestCase;
|
|
|
|
import org.tasks.R;
|
|
import org.tasks.preferences.Preferences;
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
public class AstridDefaultPreferenceSpecTest extends AndroidTestCase {
|
|
|
|
@SuppressLint("NewApi")
|
|
private static final int MILLIS_PER_HOUR = (int) TimeUnit.HOURS.toMillis(1);
|
|
|
|
Preferences preferences;
|
|
AstridDefaultPreferenceSpec spec;
|
|
|
|
@Override
|
|
public void setUp() {
|
|
preferences = new Preferences(getContext());
|
|
spec = new AstridDefaultPreferenceSpec(getContext(), preferences);
|
|
|
|
preferences.clear();
|
|
|
|
assertFalse(hasMigrated());
|
|
}
|
|
|
|
public void testQuietHoursEnabledAfterMigration() {
|
|
setOldQuietHoursStart(1);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertTrue(quietHoursEnabled());
|
|
}
|
|
|
|
public void testQuietHoursDisabledAfterMigration() {
|
|
preferences.setString(getContext().getString(R.string.p_rmd_quietStart_old), "");
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertFalse(quietHoursEnabled());
|
|
}
|
|
|
|
public void testMigrateFromStartOfDefaultReminderTimeArray() {
|
|
setOldReminderTime(0);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertEquals(0, newReminderTime());
|
|
}
|
|
|
|
public void testMigrateFromEndOfDefaultReminderTimeArray() {
|
|
setOldReminderTime(23);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertEquals(23 * MILLIS_PER_HOUR, newReminderTime());
|
|
}
|
|
|
|
public void testMigrateFromStartOfQuietHourStartArray() {
|
|
setOldQuietHoursStart(1);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertEquals(MILLIS_PER_HOUR, newQuietHoursStartTime());
|
|
}
|
|
|
|
public void testMigrateFromEndOfQuietHoursStartArray() {
|
|
setOldQuietHoursStart(23);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertEquals(23 * MILLIS_PER_HOUR, newQuietHoursStartTime());
|
|
}
|
|
|
|
public void testMigrateFromStartOfQuietHoursEndArray() {
|
|
setOldQuietHoursStart(1);
|
|
setOldQuietHoursEnd(0);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertEquals(0, newQuietHoursEndTime());
|
|
}
|
|
|
|
public void testMigrateFromEndOfQuietHoursEndArray() {
|
|
setOldQuietHoursStart(1);
|
|
setOldQuietHoursEnd(23);
|
|
|
|
spec.migrateToNewQuietHours();
|
|
|
|
assertEquals(23 * MILLIS_PER_HOUR, newQuietHoursEndTime());
|
|
}
|
|
|
|
private boolean quietHoursEnabled() {
|
|
return preferences.getBoolean(R.string.p_rmd_enable_quiet, false);
|
|
}
|
|
|
|
private boolean hasMigrated() {
|
|
return preferences.getBoolean(R.string.p_rmd_hasMigrated, false);
|
|
}
|
|
|
|
private void setOldQuietHoursStart(int index) {
|
|
preferences.setStringFromInteger(R.string.p_rmd_quietStart_old, index);
|
|
}
|
|
|
|
private void setOldQuietHoursEnd(int index) {
|
|
preferences.setStringFromInteger(R.string.p_rmd_quietEnd_old, index);
|
|
}
|
|
|
|
private void setOldReminderTime(int index) {
|
|
preferences.setStringFromInteger(R.string.p_rmd_time_old, index);
|
|
}
|
|
|
|
private int newQuietHoursStartTime() {
|
|
return preferences.getInt(R.string.p_rmd_quietStart);
|
|
}
|
|
|
|
private int newQuietHoursEndTime() {
|
|
return preferences.getInt(R.string.p_rmd_quietEnd);
|
|
}
|
|
|
|
private int newReminderTime() {
|
|
return preferences.getInt(R.string.p_rmd_time);
|
|
}
|
|
}
|