package org.schabi.newpipe.extractor.services.youtube; import org.junit.Before; import org.junit.Test; import org.schabi.newpipe.Downloader; import org.schabi.newpipe.extractor.InfoItem; import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.search.SearchEngine; import org.schabi.newpipe.extractor.search.SearchResult; import java.util.EnumSet; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.schabi.newpipe.extractor.ServiceList.YouTube; /* * Created by Christian Schabesberger on 29.12.15. * * Copyright (C) Christian Schabesberger 2015 * YoutubeSearchEngineStreamTest.java is part of NewPipe. * * NewPipe is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NewPipe is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NewPipe. If not, see . */ /** * Test for {@link SearchEngine} */ public class YoutubeSearchEngineUserTest { private SearchResult result; @Before public void setUp() throws Exception { NewPipe.init(Downloader.getInstance()); SearchEngine engine = YouTube.getService().getSearchEngine(); // Youtube will suggest "gronkh" instead of "grrunkh" // keep in mind that the suggestions can change by country (the parameter "de") result = engine.search("grrunkh", 0, "de", EnumSet.of(SearchEngine.Filter.USER)).getSearchResult(); } @Test public void testResultList() { assertFalse(result.resultList.isEmpty()); } @Test public void testUserItemType() { for (InfoItem infoItem : result.resultList) { assertEquals(InfoItem.InfoType.USER, infoItem.info_type); } } @Test public void testResultErrors() { if (!result.errors.isEmpty()) for (Throwable error : result.errors) error.printStackTrace(); assertTrue(result.errors == null || result.errors.isEmpty()); } @Test public void testSuggestion() { //todo write a real test assertTrue(result.suggestion != null); } }