package moviescraper.doctord.controller.siteparsingprofile.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.util.ArrayList; import moviescraper.doctord.controller.siteparsingprofile.SiteParsingProfile; import moviescraper.doctord.controller.siteparsingprofile.specific.R18ParsingProfile; import moviescraper.doctord.model.SearchResult; import moviescraper.doctord.model.dataitem.Actor; import moviescraper.doctord.model.dataitem.Genre; import moviescraper.doctord.model.dataitem.ID; import moviescraper.doctord.model.dataitem.Plot; import moviescraper.doctord.model.dataitem.ReleaseDate; import moviescraper.doctord.model.dataitem.Set; 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 R18ParsingProfileTest { static boolean scrapeInEnglish = true; static File file = new File("C:/Temp/ONSD-646.avi"); R18ParsingProfile parser = new R18ParsingProfile(); private static R18ParsingProfile profile; @BeforeClass public static void initialize() { profile = new R18ParsingProfile(); String searchString = profile.createSearchString(file); System.out.println("searchString = " + searchString); try { SearchResult[] searchResults = profile.getSearchResults(searchString); Document document = SiteParsingProfile.downloadDocument(searchResults[0]); System.out.println("document set to " + document.baseUri()); profile.setDocument(document); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @SuppressWarnings("static-access") @Test public void testFindID() { String findIDTagFromFile = parser.findIDTagFromFile(file, false); System.out.println(findIDTagFromFile); assertEquals(findIDTagFromFile, "ONSD-646"); } @Test public void testTitle(){ Title testTitle = profile.scrapeTitle(); assertEquals("Wrong title", "Yuma Asami 2012 S.1 8 Hours Special", testTitle.getTitle()); } @Test public void testSet(){ Set testSet = profile.scrapeSet(); assertEquals("Wrong set", "S1 GIRLS COLLECTION", testSet.getSet()); } @Test public void testPlot(){ Plot testPlot = profile.scrapePlot(); assertEquals("Wrong plot", "A special that looks back", testPlot.getPlot().substring(0,25)); } @Test public void testRuntime(){ moviescraper.doctord.model.dataitem.Runtime testRuntime = profile.scrapeRuntime(); assertEquals("Wrong runtime", "478", testRuntime.getRuntime()); } @Test public void testID() { ID scrapeID = profile.scrapeID(); System.out.println("scrapeID = " + scrapeID); assertEquals("Found wrong ID", "ONSD-646", scrapeID.getId()); } @Test public void testYear() { Year scrapeYear = profile.scrapeYear(); assertEquals("Found wrong year", "2012", scrapeYear.getYear()); } @Test public void testReleaseDate() { ReleaseDate scrapeReleaseDate = profile.scrapeReleaseDate(); assertEquals("Wrong release date", "2012-10-04", scrapeReleaseDate.getReleaseDate()); } @Test public void testGenre() { ArrayList<Genre> testGenre = profile.scrapeGenres(); System.out.println(testGenre); assertTrue("There should be genres", testGenre.size() > 1); assertTrue(testGenre.contains(new Genre("Idol & Celebrity"))); } @Test public void testActor() { ArrayList<Actor> testActor = profile.scrapeActors(); System.out.println("actor = " + testActor.get(0)); assertEquals("Found wrong actor", "Yuma Asami", testActor.get(0).getName()); } @Test public void testExtraFanart() throws IOException { Thumb [] extraFanart = profile.scrapeExtraFanart(); TestingHelper.showImage("Extrafanart", extraFanart[0].getThumbImage()); } @Test public void testPoster() throws IOException { Thumb[] poster = profile.scrapePosters(); assertTrue("There should be 1 Fanart.", poster.length == 1); TestingHelper.showImage("Poster", poster[0].getThumbImage()); } }