Skip to content

Commit 6cac178

Browse files
committed
searchfilters: added common helper methods for .*SearchExtractorTest's
1 parent 1dd3ed8 commit 6cac178

File tree

1 file changed

+34
-4
lines changed

1 file changed

+34
-4
lines changed

extractor/src/test/java/org/schabi/newpipe/extractor/services/DefaultSearchExtractorTest.java

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,21 @@
22

33
import org.junit.jupiter.api.Test;
44
import org.schabi.newpipe.extractor.MetaInfo;
5+
import org.schabi.newpipe.extractor.StreamingService;
56
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;
910

1011
import java.net.MalformedURLException;
1112
import java.net.URL;
13+
import java.util.Arrays;
1214
import java.util.Collections;
1315
import java.util.List;
1416
import java.util.stream.Collectors;
1517

18+
import javax.annotation.Nullable;
19+
1620
import static org.junit.jupiter.api.Assertions.assertEquals;
1721
import static org.junit.jupiter.api.Assertions.assertTrue;
1822
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmpty;
@@ -21,8 +25,34 @@
2125
public abstract class DefaultSearchExtractorTest extends DefaultListExtractorTest<SearchExtractor>
2226
implements BaseSearchExtractorTest {
2327

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+
2452
public abstract String expectedSearchString();
25-
@Nullable public abstract String expectedSearchSuggestion();
53+
54+
@Nullable
55+
public abstract String expectedSearchSuggestion();
2656

2757
public boolean isCorrectedSearch() {
2858
return false;

0 commit comments

Comments
 (0)