From d7b043059c911915e78326fec03f50ea6987591d Mon Sep 17 00:00:00 2001 From: evermind Date: Tue, 11 Oct 2022 14:24:23 +0200 Subject: [PATCH] searchfilters: added common helper methods for .*SearchExtractorTest's --- .../services/DefaultSearchExtractorTest.java | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/DefaultSearchExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/DefaultSearchExtractorTest.java index e7a5f7934..337bc7a3a 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/DefaultSearchExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/DefaultSearchExtractorTest.java @@ -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 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;