diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java b/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java index 124d998d0..2423c6e5b 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java @@ -3,8 +3,11 @@ package org.schabi.newpipe.extractor; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -15,6 +18,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler; import org.schabi.newpipe.extractor.utils.Utils; public class ExtractorAsserts { @@ -144,6 +148,16 @@ public class ExtractorAsserts { assertNotNull(shouldBeContained, "shouldBeContained is null"); assertNotNull(container, "container is null"); assertTrue(container.contains(shouldBeContained), - "'" + shouldBeContained + "' should be contained inside '" + container +"'"); + "'" + shouldBeContained + "' should be contained inside '" + container + "'"); + } + + public static void assertTabsContained(@Nonnull final List tabs, + @Nonnull final String... expectedTabs) { + final Set tabSet = tabs.stream() + .map(linkHandler -> linkHandler.getContentFilters().get(0)) + .collect(Collectors.toUnmodifiableSet()); + Arrays.stream(expectedTabs) + .forEach(expectedTab -> assertTrue(tabSet.contains(expectedTab), + "Missing " + expectedTab + " tab (got " + tabSet + ")")); } }