From f3e56a2385a60609403bccea038b4501570b5875 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Fri, 2 Oct 2015 16:26:42 -0400 Subject: [PATCH] fix PreferencesTest to actually check the condition was met. --- .../test/antennapod/ui/PreferencesTest.java | 235 +++--------------- 1 file changed, 37 insertions(+), 198 deletions(-) diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java index a6af6c544..8a9e230fe 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java @@ -14,6 +14,7 @@ import org.apache.commons.io.IOUtils; import java.io.IOException; import java.io.InputStream; import java.util.List; +import java.util.concurrent.TimeUnit; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.PreferenceActivity; @@ -59,12 +60,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getTheme() != theme, Timeout.getLargeTimeout())); } public void testSwitchThemeBack() { @@ -78,140 +74,67 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getTheme() != theme, Timeout.getLargeTimeout())); } public void testExpandNotification() { final int priority = UserPreferences.getNotifyPriority(); solo.clickOnText(solo.getString(R.string.pref_expandNotify_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return priority != UserPreferences.getNotifyPriority(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> priority != UserPreferences.getNotifyPriority(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_expandNotify_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return priority == UserPreferences.getNotifyPriority(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> priority == UserPreferences.getNotifyPriority(), Timeout.getLargeTimeout())); } public void testEnablePersistentPlaybackControls() { final boolean persistNotify = UserPreferences.isPersistNotify(); solo.clickOnText(solo.getString(R.string.pref_persistNotify_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return persistNotify != UserPreferences.isPersistNotify(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> persistNotify != UserPreferences.isPersistNotify(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_persistNotify_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return persistNotify == UserPreferences.isPersistNotify(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> persistNotify == UserPreferences.isPersistNotify(), Timeout.getLargeTimeout())); } public void testEnqueueAtFront() { final boolean enqueueAtFront = UserPreferences.enqueueAtFront(); solo.clickOnText(solo.getString(R.string.pref_queueAddToFront_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return enqueueAtFront != UserPreferences.enqueueAtFront(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> enqueueAtFront != UserPreferences.enqueueAtFront(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_queueAddToFront_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return enqueueAtFront == UserPreferences.enqueueAtFront(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> enqueueAtFront == UserPreferences.enqueueAtFront(), Timeout.getLargeTimeout())); } public void testHeadPhonesDisconnect() { final boolean pauseOnHeadsetDisconnect = UserPreferences.isPauseOnHeadsetDisconnect(); solo.clickOnText(solo.getString(R.string.pref_pauseOnHeadsetDisconnect_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return pauseOnHeadsetDisconnect != UserPreferences.isPauseOnHeadsetDisconnect(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> pauseOnHeadsetDisconnect != UserPreferences.isPauseOnHeadsetDisconnect(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_pauseOnHeadsetDisconnect_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return pauseOnHeadsetDisconnect == UserPreferences.isPauseOnHeadsetDisconnect(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> pauseOnHeadsetDisconnect == UserPreferences.isPauseOnHeadsetDisconnect(), Timeout.getLargeTimeout())); } public void testHeadPhonesReconnect() { if(UserPreferences.isPauseOnHeadsetDisconnect() == false) { solo.clickOnText(solo.getString(R.string.pref_pauseOnHeadsetDisconnect_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return UserPreferences.isPauseOnHeadsetDisconnect(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> UserPreferences.isPauseOnHeadsetDisconnect(), Timeout.getLargeTimeout())); } final boolean unpauseOnHeadsetReconnect = UserPreferences.isUnpauseOnHeadsetReconnect(); solo.clickOnText(solo.getString(R.string.pref_unpauseOnHeadsetReconnect_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return unpauseOnHeadsetReconnect != UserPreferences.isUnpauseOnHeadsetReconnect(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> unpauseOnHeadsetReconnect != UserPreferences.isUnpauseOnHeadsetReconnect(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_unpauseOnHeadsetReconnect_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return unpauseOnHeadsetReconnect == UserPreferences.isUnpauseOnHeadsetReconnect(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> unpauseOnHeadsetReconnect == UserPreferences.isUnpauseOnHeadsetReconnect(), Timeout.getLargeTimeout())); } public void testContinuousPlayback() { final boolean continuousPlayback = UserPreferences.isFollowQueue(); solo.clickOnText(solo.getString(R.string.pref_followQueue_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return continuousPlayback != UserPreferences.isFollowQueue(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> continuousPlayback != UserPreferences.isFollowQueue(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_followQueue_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return continuousPlayback == UserPreferences.isFollowQueue(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> continuousPlayback == UserPreferences.isFollowQueue(), Timeout.getLargeTimeout())); } public void testAutoDelete() { final boolean autoDelete = UserPreferences.isAutoDelete(); solo.clickOnText(solo.getString(R.string.pref_auto_delete_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return autoDelete != UserPreferences.isAutoDelete(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> autoDelete != UserPreferences.isAutoDelete(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_auto_delete_title)); - solo.waitForCondition(new Condition() { - @Override public boolean isSatisfied() { - return autoDelete == UserPreferences.isAutoDelete(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> autoDelete == UserPreferences.isAutoDelete(), Timeout.getLargeTimeout())); } public void testPlaybackSpeeds() { @@ -225,31 +148,16 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 pauseForFocusLoss != UserPreferences.shouldPauseForFocusLoss(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_pausePlaybackForFocusLoss_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return pauseForFocusLoss == UserPreferences.shouldPauseForFocusLoss(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> pauseForFocusLoss == UserPreferences.shouldPauseForFocusLoss(), Timeout.getLargeTimeout())); } public void testDisableUpdateInterval() { solo.clickOnText(solo.getString(R.string.pref_autoUpdateIntervallOrTime_sum)); solo.waitForDialogToOpen(); solo.clickOnText(solo.getString(R.string.pref_autoUpdateIntervallOrTime_Disable)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return UserPreferences.getUpdateInterval() == 0; - } - }, 1000); + assertTrue(solo.waitForCondition(() -> UserPreferences.getUpdateInterval() == 0, 1000)); } public void testSetUpdateInterval() { @@ -260,30 +168,16 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getUpdateInterval() == + TimeUnit.HOURS.toMillis(12), Timeout.getLargeTimeout())); } public void testMobileUpdates() { final boolean mobileUpdates = UserPreferences.isAllowMobileUpdate(); solo.clickOnText(solo.getString(R.string.pref_mobileUpdate_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return mobileUpdates != UserPreferences.isAllowMobileUpdate(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> mobileUpdates != UserPreferences.isAllowMobileUpdate(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_mobileUpdate_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return mobileUpdates == UserPreferences.isAllowMobileUpdate(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> mobileUpdates == UserPreferences.isAllowMobileUpdate(), Timeout.getLargeTimeout())); } public void testSetSequentialDownload() { @@ -292,12 +186,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getParallelDownloads() == 1, Timeout.getLargeTimeout())); } public void testSetParallelDownloads() { @@ -306,12 +195,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getParallelDownloads() == 10, Timeout.getLargeTimeout())); } public void testSetParallelDownloadsInvalidInput() { @@ -333,12 +217,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getEpisodeCacheSize() == value, Timeout.getLargeTimeout())); } public void testSetEpisodeCacheMin() { @@ -350,12 +229,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getEpisodeCacheSize() == minValue, Timeout.getLargeTimeout())); } @@ -367,12 +241,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 UserPreferences.getEpisodeCacheSize() == maxValue, Timeout.getLargeTimeout())); } public void testAutomaticDownload() { @@ -380,50 +249,20 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2 automaticDownload != UserPreferences.isEnableAutodownload(), Timeout.getLargeTimeout())); if(UserPreferences.isEnableAutodownload() == false) { solo.clickOnText(solo.getString(R.string.pref_automatic_download_title)); } - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return UserPreferences.isEnableAutodownload() == true; - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> UserPreferences.isEnableAutodownload() == true, Timeout.getLargeTimeout())); final boolean enableAutodownloadOnBattery = UserPreferences.isEnableAutodownloadOnBattery(); solo.clickOnText(solo.getString(R.string.pref_automatic_download_on_battery_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return enableAutodownloadOnBattery != UserPreferences.isEnableAutodownloadOnBattery(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> enableAutodownloadOnBattery != UserPreferences.isEnableAutodownloadOnBattery(), Timeout.getLargeTimeout())); solo.clickOnText(solo.getString(R.string.pref_automatic_download_on_battery_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return enableAutodownloadOnBattery == UserPreferences.isEnableAutodownloadOnBattery(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> enableAutodownloadOnBattery == UserPreferences.isEnableAutodownloadOnBattery(), Timeout.getLargeTimeout())); final boolean enableWifiFilter = UserPreferences.isEnableAutodownloadWifiFilter(); solo.clickOnText(solo.getString(R.string.pref_autodl_wifi_filter_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return enableWifiFilter != UserPreferences.isEnableAutodownloadWifiFilter(); - } - }, Timeout.getLargeTimeout()); - solo.clickOnText(solo.getString(R.string.pref_automatic_download_on_battery_title)); - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return enableWifiFilter == UserPreferences.isEnableAutodownloadWifiFilter(); - } - }, Timeout.getLargeTimeout()); + assertTrue(solo.waitForCondition(() -> enableWifiFilter != UserPreferences.isEnableAutodownloadWifiFilter(), Timeout.getLargeTimeout())); + solo.clickOnText(solo.getString(R.string.pref_autodl_wifi_filter_title)); + assertTrue(solo.waitForCondition(() -> enableWifiFilter == UserPreferences.isEnableAutodownloadWifiFilter(), Timeout.getLargeTimeout())); } }