Move some tests from core module to their respective module (#7059)

This commit is contained in:
ByteHamster 2024-04-04 22:26:53 +02:00 committed by GitHub
parent 0288d4e51e
commit 2143ab1351
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
35 changed files with 62 additions and 70 deletions

View File

@ -10,12 +10,12 @@ import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule; import androidx.test.rule.ActivityTestRule;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity; import de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity;
import de.danoeh.antennapod.core.storage.APCleanupAlgorithm; import de.danoeh.antennapod.net.download.service.episode.autodownload.APCleanupAlgorithm;
import de.danoeh.antennapod.core.storage.APNullCleanupAlgorithm; import de.danoeh.antennapod.net.download.service.episode.autodownload.APNullCleanupAlgorithm;
import de.danoeh.antennapod.core.storage.APQueueCleanupAlgorithm; import de.danoeh.antennapod.net.download.service.episode.autodownload.APQueueCleanupAlgorithm;
import de.danoeh.antennapod.core.storage.EpisodeCleanupAlgorithm; import de.danoeh.antennapod.net.download.service.episode.autodownload.EpisodeCleanupAlgorithm;
import de.danoeh.antennapod.core.storage.EpisodeCleanupAlgorithmFactory; import de.danoeh.antennapod.net.download.service.episode.autodownload.EpisodeCleanupAlgorithmFactory;
import de.danoeh.antennapod.core.storage.ExceptFavoriteCleanupAlgorithm; import de.danoeh.antennapod.net.download.service.episode.autodownload.ExceptFavoriteCleanupAlgorithm;
import de.danoeh.antennapod.storage.preferences.UserPreferences; import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation; import de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation;
import de.test.antennapod.EspressoTestUtils; import de.test.antennapod.EspressoTestUtils;

View File

@ -3,7 +3,7 @@ package de.danoeh.antennapod;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import de.danoeh.antennapod.core.storage.AutoDownloadManagerImpl; import de.danoeh.antennapod.net.download.service.episode.autodownload.AutoDownloadManagerImpl;
import de.danoeh.antennapod.net.download.service.feed.FeedUpdateManagerImpl; import de.danoeh.antennapod.net.download.service.feed.FeedUpdateManagerImpl;
import de.danoeh.antennapod.net.download.serviceinterface.AutoDownloadManager; import de.danoeh.antennapod.net.download.serviceinterface.AutoDownloadManager;
import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager; import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;

View File

@ -33,7 +33,7 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.shape.MaterialShapeDrawable; import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.ShapeAppearanceModel; import com.google.android.material.shape.ShapeAppearanceModel;
import de.danoeh.antennapod.core.storage.EpisodeCleanupAlgorithmFactory; import de.danoeh.antennapod.net.download.service.episode.autodownload.EpisodeCleanupAlgorithmFactory;
import de.danoeh.antennapod.ui.screen.AddFeedFragment; import de.danoeh.antennapod.ui.screen.AddFeedFragment;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment; import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.InboxFragment; import de.danoeh.antennapod.ui.screen.InboxFragment;

View File

@ -41,6 +41,7 @@ project.ext {
runnerVersion = "1.5.0" runnerVersion = "1.5.0"
rulesVersion = "1.5.0" rulesVersion = "1.5.0"
testCoreVersion = "1.5.0" testCoreVersion = "1.5.0"
mockitoVersion = "5.11.0"
} }
checkstyle { checkstyle {

View File

@ -56,7 +56,7 @@ dependencies {
testImplementation "androidx.test:core:$testCoreVersion" testImplementation "androidx.test:core:$testCoreVersion"
testImplementation "org.awaitility:awaitility:$awaitilityVersion" testImplementation "org.awaitility:awaitility:$awaitilityVersion"
testImplementation "junit:junit:$junitVersion" testImplementation "junit:junit:$junitVersion"
testImplementation 'org.mockito:mockito-core:5.11.0' testImplementation "org.mockito:mockito-core:$mockitoVersion"
testImplementation "org.robolectric:robolectric:$robolectricVersion" testImplementation "org.robolectric:robolectric:$robolectricVersion"
testImplementation 'javax.inject:javax.inject:1' testImplementation 'javax.inject:javax.inject:1'
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"

View File

@ -18,4 +18,5 @@ dependencies {
testImplementation "junit:junit:$junitVersion" testImplementation "junit:junit:$junitVersion"
testImplementation "androidx.test:core:$testCoreVersion" testImplementation "androidx.test:core:$testCoreVersion"
testImplementation "org.mockito:mockito-core:$mockitoVersion"
} }

View File

@ -1,12 +1,9 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.ui.common.Converter;
import de.danoeh.antennapod.model.feed.FeedFilter;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia;
import org.junit.Test; import org.junit.Test;
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
@ -133,7 +130,7 @@ public class FeedFilterTest {
FeedItem download = new FeedItem(); FeedItem download = new FeedItem();
download.setTitle("Hello friend!"); download.setTitle("Hello friend!");
FeedMedia downloadMedia = FeedMediaMother.anyFeedMedia(); FeedMedia downloadMedia = FeedMediaMother.anyFeedMedia();
downloadMedia.setDuration(Converter.durationStringShortToMs("05:00", false)); downloadMedia.setDuration((int) TimeUnit.MILLISECONDS.convert(5, TimeUnit.MINUTES));
download.setMedia(downloadMedia); download.setMedia(downloadMedia);
// because duration of the media in unknown // because duration of the media in unknown
FeedItem download2 = new FeedItem(); FeedItem download2 = new FeedItem();
@ -144,7 +141,7 @@ public class FeedFilterTest {
FeedItem doNotDownload = new FeedItem(); FeedItem doNotDownload = new FeedItem();
doNotDownload.setTitle("Hello friend!"); doNotDownload.setTitle("Hello friend!");
FeedMedia doNotDownloadMedia = FeedMediaMother.anyFeedMedia(); FeedMedia doNotDownloadMedia = FeedMediaMother.anyFeedMedia();
doNotDownloadMedia.setDuration(Converter.durationStringShortToMs("02:00", false)); doNotDownloadMedia.setDuration((int) TimeUnit.MILLISECONDS.convert(2, TimeUnit.MINUTES));
doNotDownload.setMedia(doNotDownloadMedia); doNotDownload.setMedia(doNotDownloadMedia);
int minimalDurationFilter = 3 * 60; int minimalDurationFilter = 3 * 60;

View File

@ -1,10 +1,8 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import java.util.Date; import java.util.Date;
import static de.danoeh.antennapod.core.feed.FeedMother.anyFeed; import static de.danoeh.antennapod.model.feed.FeedMother.anyFeed;
class FeedItemMother { class FeedItemMother {
private static final String IMAGE_URL = "http://example.com/image"; private static final String IMAGE_URL = "http://example.com/image";

View File

@ -1,13 +1,12 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import static de.danoeh.antennapod.core.feed.FeedItemMother.anyFeedItemWithImage; import static de.danoeh.antennapod.model.feed.FeedItemMother.anyFeedItemWithImage;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;

View File

@ -1,6 +1,4 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.model.feed.FeedMedia;
class FeedMediaMother { class FeedMediaMother {

View File

@ -1,11 +1,9 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import static de.danoeh.antennapod.core.feed.FeedMediaMother.anyFeedMedia; import static de.danoeh.antennapod.model.feed.FeedMediaMother.anyFeedMedia;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;

View File

@ -1,6 +1,4 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.model.feed.Feed;
public class FeedMother { public class FeedMother {
public static final String IMAGE_URL = "http://example.com/image"; public static final String IMAGE_URL = "http://example.com/image";

View File

@ -1,12 +1,9 @@
package de.danoeh.antennapod.core.feed; package de.danoeh.antennapod.model.feed;
import de.danoeh.antennapod.model.feed.Feed;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import de.danoeh.antennapod.model.feed.SortOrder; import static de.danoeh.antennapod.model.feed.FeedMother.anyFeed;
import static de.danoeh.antennapod.core.feed.FeedMother.anyFeed;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertThrows;

View File

@ -43,5 +43,6 @@ dependencies {
testImplementation "junit:junit:$junitVersion" testImplementation "junit:junit:$junitVersion"
testImplementation "org.robolectric:robolectric:$robolectricVersion" testImplementation "org.robolectric:robolectric:$robolectricVersion"
testImplementation "org.awaitility:awaitility:$awaitilityVersion" testImplementation "org.awaitility:awaitility:$awaitilityVersion"
testImplementation 'org.mockito:mockito-core:5.11.0' testImplementation "org.mockito:mockito-core:$mockitoVersion"
testImplementation "androidx.preference:preference:$preferenceVersion"
} }

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.util.Log; import android.util.Log;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.util.Log; import android.util.Log;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import de.danoeh.antennapod.storage.preferences.UserPreferences; import de.danoeh.antennapod.storage.preferences.UserPreferences;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.util.Log; import android.util.Log;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import org.junit.Test; import org.junit.Test;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -28,7 +28,7 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import static de.danoeh.antennapod.core.storage.DbTestUtils.saveFeedlist; import static de.danoeh.antennapod.net.download.service.episode.autodownload.DbTestUtils.saveFeedlist;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
@ -33,7 +33,7 @@ import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import static de.danoeh.antennapod.core.storage.DbTestUtils.saveFeedlist; import static de.danoeh.antennapod.net.download.service.episode.autodownload.DbTestUtils.saveFeedlist;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.net.download.service.episode.autodownload;
import de.danoeh.antennapod.net.download.serviceinterface.AutoDownloadManager; import de.danoeh.antennapod.net.download.serviceinterface.AutoDownloadManager;
import org.junit.Test; import org.junit.Test;

View File

@ -40,5 +40,5 @@ dependencies {
implementation "org.apache.commons:commons-lang3:$commonslangVersion" implementation "org.apache.commons:commons-lang3:$commonslangVersion"
testImplementation "junit:junit:$junitVersion" testImplementation "junit:junit:$junitVersion"
testImplementation 'org.mockito:mockito-core:5.11.0' testImplementation "org.mockito:mockito-core:$mockitoVersion"
} }

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util; package de.danoeh.antennapod.storage.database;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.storage.database;
import de.danoeh.antennapod.model.feed.FeedItem; import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia; import de.danoeh.antennapod.model.feed.FeedMedia;

View File

@ -1,9 +1,9 @@
package de.danoeh.antennapod.core.storage; package de.danoeh.antennapod.storage.database;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.playback.RemoteMedia; import de.danoeh.antennapod.model.playback.RemoteMedia;
import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface; import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface;
import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterfaceStub; import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterfaceStub;
import de.danoeh.antennapod.storage.database.ItemEnqueuePositionCalculator;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
@ -19,16 +19,14 @@ import java.util.stream.Collectors;
import de.danoeh.antennapod.model.feed.FeedItem; import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia; import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.core.feed.FeedMother;
import de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation; import de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation;
import de.danoeh.antennapod.model.playback.Playable; import de.danoeh.antennapod.model.playback.Playable;
import static de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation.AFTER_CURRENTLY_PLAYING; import static de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation.AFTER_CURRENTLY_PLAYING;
import static de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation.BACK; import static de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation.BACK;
import static de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation.FRONT; import static de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation.FRONT;
import static de.danoeh.antennapod.core.util.CollectionTestUtil.concat; import static de.danoeh.antennapod.storage.database.CollectionTestUtil.concat;
import static de.danoeh.antennapod.core.util.CollectionTestUtil.list; import static de.danoeh.antennapod.storage.database.CollectionTestUtil.list;
import static de.danoeh.antennapod.core.util.FeedItemUtil.getIdList;
import static java.util.Collections.emptyList; import static java.util.Collections.emptyList;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
@ -136,7 +134,10 @@ public class ItemEnqueuePositionCalculatorTest {
List<Long> idsExpected) { List<Long> idsExpected) {
int posActual = calculator.calcPosition(queue, currentlyPlaying); int posActual = calculator.calcPosition(queue, currentlyPlaying);
queue.add(posActual, itemToAdd); queue.add(posActual, itemToAdd);
assertEquals(message, idsExpected, getIdList(queue)); assertEquals(message, idsExpected.size(), queue.size());
for (int i = 0; i < idsExpected.size(); i++) {
assertEquals(message, (long) idsExpected.get(i), queue.get(i).getId());
}
} }
static final List<FeedItem> QUEUE_EMPTY = Collections.unmodifiableList(emptyList()); static final List<FeedItem> QUEUE_EMPTY = Collections.unmodifiableList(emptyList());
@ -167,8 +168,11 @@ public class ItemEnqueuePositionCalculatorTest {
static FeedItem createFeedItem(long id) { static FeedItem createFeedItem(long id) {
Feed feed = new Feed(0, null, "title", "http://example.com", "This is the description",
"http://example.com/payment", "Daniel", "en", null, "http://example.com/feed",
"http://example.com/image", null, "http://example.com/feed", System.currentTimeMillis());
FeedItem item = new FeedItem(id, "Item" + id, "ItemId" + id, "url", FeedItem item = new FeedItem(id, "Item" + id, "ItemId" + id, "url",
new Date(), FeedItem.PLAYED, FeedMother.anyFeed()); new Date(), FeedItem.PLAYED, feed);
FeedMedia media = new FeedMedia(item, "http://download.url.net/" + id, 1234567, "audio/mpeg"); FeedMedia media = new FeedMedia(item, "http://download.url.net/" + id, 1234567, "audio/mpeg");
media.setId(item.getId()); media.setId(item.getId());
item.setMedia(media); item.setMedia(media);