searchfilters: added common helper methods for .*SearchExtractorTest's

This commit is contained in:
evermind 2022-10-11 14:24:23 +02:00 committed by Stypox
parent af1f1de36d
commit d7b043059c
No known key found for this signature in database
GPG Key ID: 4BDF1B40A49FDD23
1 changed files with 34 additions and 4 deletions

View File

@ -2,17 +2,21 @@ package org.schabi.newpipe.extractor.services;
import org.junit.jupiter.api.Test;
import org.schabi.newpipe.extractor.MetaInfo;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.search.SearchExtractor;
import javax.annotation.Nullable;
import org.schabi.newpipe.extractor.search.filter.FilterContainer;
import org.schabi.newpipe.extractor.search.filter.FilterGroup;
import org.schabi.newpipe.extractor.search.filter.FilterItem;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmpty;
@ -21,8 +25,34 @@ import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
public abstract class DefaultSearchExtractorTest extends DefaultListExtractorTest<SearchExtractor>
implements BaseSearchExtractorTest {
public static FilterItem getFilterItem(final StreamingService service, final int filterId) {
return service.getSearchQHFactory().getFilterItem(filterId);
}
public static int getNoOfSortFilterItems(final FilterContainer contentFilterContainer) {
// for all content filter groups count available corresponding sort filters
int filterItemsCount = 0;
for (final FilterGroup group : contentFilterContainer.getFilterGroups()) {
final FilterContainer sortFilterContainer = group.getAllSortFilters();
if (null != sortFilterContainer) {
filterItemsCount += getNoOfFilterItems(sortFilterContainer);
}
}
return filterItemsCount;
}
public static int getNoOfFilterItems(final FilterContainer filterContainer) {
return Arrays.stream(filterContainer.getFilterGroups())
.map(FilterGroup::getFilterItems)
.mapToInt(filterItems -> filterItems.length)
.sum();
}
public abstract String expectedSearchString();
@Nullable public abstract String expectedSearchSuggestion();
@Nullable
public abstract String expectedSearchSuggestion();
public boolean isCorrectedSearch() {
return false;