package moviescraper.doctord.controller.siteparsingprofile.test; import static org.junit.Assert.*; import java.io.File; import java.io.IOException; import java.util.ArrayList; import moviescraper.doctord.controller.siteparsingprofile.SiteParsingProfile; import moviescraper.doctord.controller.siteparsingprofile.specific.AvEntertainmentParsingProfile; import moviescraper.doctord.model.SearchResult; import moviescraper.doctord.model.dataitem.Actor; import moviescraper.doctord.model.dataitem.Genre; import moviescraper.doctord.model.dataitem.Plot; import moviescraper.doctord.model.dataitem.ReleaseDate; import moviescraper.doctord.model.dataitem.Runtime; import moviescraper.doctord.model.dataitem.Set; import moviescraper.doctord.model.dataitem.Studio; import moviescraper.doctord.model.dataitem.Thumb; import moviescraper.doctord.model.dataitem.Title; import moviescraper.doctord.model.dataitem.Year; import org.jsoup.nodes.Document; import org.junit.BeforeClass; import org.junit.Test; public class AvEntertainmentParsingProfileTest { static AvEntertainmentParsingProfile profile; static File file = new File("C:/temp/SKY-120.mkv"); @BeforeClass public static void initialize() { String url = "http://www.aventertainments.com/product_lists.aspx?product_id=81366&languageID=1&dept_id=29"; Document document = SiteParsingProfile.downloadDocumentFromURLString(url); profile = new AvEntertainmentParsingProfile(); profile.setDocument(document); } @Test public void testSearchResult() throws IOException { SearchResult[] results = profile.getSearchResults("http://www.aventertainments.com/ppv/ppv_studioproducts.aspx?StudioID=45&languageID=1&VODTypeID=1"); // for (SearchResult sr : results) { // TestTokyoHotParsingProfile.showImage(sr.getLabel(), sr.getPreviewImage().getThumbImage()); // } assertTrue("There should be 20 results.", results.length == 20); } @Test public void testActors() { ArrayList<Actor> scrapeActors = profile.scrapeActors(); assertTrue("There should be 1 Actor", scrapeActors.size() == 1); assertEquals("Wrong actor name", "Yume Mizuki", scrapeActors.get(0).getName()); assertEquals("Wrong actor picture", "http://imgs.aventertainments.com/ActressImage/LargeImage/mizuki_yume.jpg", scrapeActors.get(0).getThumb().getThumbURL().toString()); } @Test public void testTitle() { Title scrapeTitle = profile.scrapeTitle(); assertEquals("Wrong Title", "GANKI MANIA : Yume Mizuki", scrapeTitle.getTitle()); } @Test public void testGenres() { ArrayList<Genre> genres = profile.scrapeGenres(); System.out.println("genreList for AvEntertainment = " + genres); assertTrue(genres.contains(new Genre("Drama"))); assertTrue(genres.contains(new Genre("Editor's Pick"))); } @Test public void testYear() { Year year = profile.scrapeYear(); assertEquals("Found wrong year", "2014", year.getYear()); } @Test public void testReleaseDate(){ ReleaseDate releaseDate = profile.scrapeReleaseDate(); assertEquals("Found wrong release date", "2014-09-09", releaseDate.getReleaseDate()); } @Test public void testRuntime() { Runtime runtime = profile.scrapeRuntime(); assertEquals("Wrong Runtime", "150", runtime.getRuntime()); } @Test public void testPlot() { Plot plot = profile.scrapePlot(); assertTrue("Found wrong Plot", plot.getPlot().startsWith("")); } @Test public void testPosters() throws IOException { Thumb[] posters = profile.scrapePosters(); assertTrue("Wrong count of posters", posters.length == 1); assertEquals("Wrong poster", "http://imgs.aventertainments.com/new/bigcover/dvd1pt-154.jpg", posters[0].getThumbURL().toString()); TestingHelper.showImage("posters", posters[0].getThumbImage()); } @Test public void testFanart() throws IOException { Thumb[] fanart = profile.scrapeFanart(); assertTrue("There should be 1 Fanart.", fanart.length == 1); assertEquals("Wrong Fanart", "http://imgs.aventertainments.com/new/bigcover/dvd1pt-154.jpg", fanart[0].getThumbURL().toString()); TestingHelper.showImage("Fanart", fanart[0].getThumbImage()); } @Test public void testSet() { Set set = profile.scrapeSet(); assertEquals("Wrong Set", "Pork Teriyaki", set.getSet()); } @Test public void testStudio() { Studio studio = profile.scrapeStudio(); assertEquals("Wrong Studio", "Studio Teriyaki", studio.getStudio()); } }