|
2 | 2 |
|
3 | 3 | import org.junit.jupiter.api.Test; |
4 | 4 | import org.schabi.newpipe.extractor.MetaInfo; |
| 5 | +import org.schabi.newpipe.extractor.StreamingService; |
5 | 6 | import org.schabi.newpipe.extractor.search.SearchExtractor; |
6 | | - |
7 | | - |
8 | | -import javax.annotation.Nullable; |
| 7 | +import org.schabi.newpipe.extractor.search.filter.FilterContainer; |
| 8 | +import org.schabi.newpipe.extractor.search.filter.FilterGroup; |
| 9 | +import org.schabi.newpipe.extractor.search.filter.FilterItem; |
9 | 10 |
|
10 | 11 | import java.net.MalformedURLException; |
11 | 12 | import java.net.URL; |
| 13 | +import java.util.Arrays; |
12 | 14 | import java.util.Collections; |
13 | 15 | import java.util.List; |
14 | 16 | import java.util.stream.Collectors; |
15 | 17 |
|
| 18 | +import javax.annotation.Nullable; |
| 19 | + |
16 | 20 | import static org.junit.jupiter.api.Assertions.assertEquals; |
17 | 21 | import static org.junit.jupiter.api.Assertions.assertTrue; |
18 | 22 | import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmpty; |
|
21 | 25 | public abstract class DefaultSearchExtractorTest extends DefaultListExtractorTest<SearchExtractor> |
22 | 26 | implements BaseSearchExtractorTest { |
23 | 27 |
|
| 28 | + public static FilterItem getFilterItem(final StreamingService service, final int filterId) { |
| 29 | + return service.getSearchQHFactory().getFilterItem(filterId); |
| 30 | + } |
| 31 | + |
| 32 | + public static int getNoOfSortFilterItems(final FilterContainer contentFilterContainer) { |
| 33 | + // for all content filter groups count available corresponding sort filters |
| 34 | + int filterItemsCount = 0; |
| 35 | + for (final FilterGroup group : contentFilterContainer.getFilterGroups()) { |
| 36 | + final FilterContainer sortFilterContainer = group.getAllSortFilters(); |
| 37 | + if (null != sortFilterContainer) { |
| 38 | + filterItemsCount += getNoOfFilterItems(sortFilterContainer); |
| 39 | + } |
| 40 | + } |
| 41 | + |
| 42 | + return filterItemsCount; |
| 43 | + } |
| 44 | + |
| 45 | + public static int getNoOfFilterItems(final FilterContainer filterContainer) { |
| 46 | + return Arrays.stream(filterContainer.getFilterGroups()) |
| 47 | + .map(FilterGroup::getFilterItems) |
| 48 | + .mapToInt(filterItems -> filterItems.length) |
| 49 | + .sum(); |
| 50 | + } |
| 51 | + |
24 | 52 | public abstract String expectedSearchString(); |
25 | | - @Nullable public abstract String expectedSearchSuggestion(); |
| 53 | + |
| 54 | + @Nullable |
| 55 | + public abstract String expectedSearchSuggestion(); |
26 | 56 |
|
27 | 57 | public boolean isCorrectedSearch() { |
28 | 58 | return false; |
|
0 commit comments