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.CaribbeancomParsingProfile; 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.OriginalTitle; import moviescraper.doctord.model.dataitem.Plot; import moviescraper.doctord.model.dataitem.Rating; import moviescraper.doctord.model.dataitem.ReleaseDate; import moviescraper.doctord.model.dataitem.Thumb; import moviescraper.doctord.model.dataitem.Title; import moviescraper.doctord.model.dataitem.Trailer; import moviescraper.doctord.model.dataitem.Year; import org.jsoup.nodes.Document; import org.junit.BeforeClass; import org.junit.Test; public class CaribbeancomParsingProfileTest { static File file = new File("C:/Temp/Caribbeancom 070514-637 abc.avi"); static CaribbeancomParsingProfile parser = new CaribbeancomParsingProfile(); @BeforeClass public static void initialize() { parser = new CaribbeancomParsingProfile(); String searchString = parser.createSearchString(file); try { SearchResult[] searchResults = parser.getSearchResults(searchString); Document document = SiteParsingProfile.downloadDocument(searchResults[0]); parser.setDocument(document); } catch (IOException e) { e.printStackTrace(); } } @SuppressWarnings("static-access") @Test public void testFindID() { String findIDTagFromFile = parser.findIDTagFromFile(file); assertEquals(findIDTagFromFile, "070514-637"); } @Test public void testScrapeTitle() { Title title = parser.scrapeTitle(); //this assumes translation is done. if this test fails, it could be because translation is not done or the web //based translation service has changed how they do translation, so try to just see if the title is close to //this one and adjust as needed to fix the test case assertEquals("Wrong title", "CA Orgy Party ~ Comfortable Intercourse Space ~", title.getTitle()); } @Test public void testScrapeOriginalTitle(){ OriginalTitle originalTitle = parser.scrapeOriginalTitle(); assertEquals("Wrong original title", "CA乱交パーティ 〜快適な性交空間〜", originalTitle.getOriginalTitle()); } @Test public void testScrapeRating(){ Rating rating = parser.scrapeRating(); assertEquals("Wrong rating", "8.0", rating.getRatingOutOfTen()); } @Test public void testScrapeYear(){ Year year = parser.scrapeYear(); assertEquals("Wrong year", "2014", year.getYear()); } @Test public void testScrapeReleaseDate() { ReleaseDate releaseDate = parser.scrapeReleaseDate(); assertEquals("Wrong release date", "2014-01-05", releaseDate.getReleaseDate()); } @Test public void testScrapePlot(){ Plot plot = parser.scrapePlot(); assertEquals("Didn't scrape something which is long and looks like a plot", true, plot.getPlot().length() > 35); } @Test public void testScrapeRuntime(){ moviescraper.doctord.model.dataitem.Runtime movieRuntime = parser.scrapeRuntime(); assertEquals("Wrong runtime", "80", movieRuntime.getRuntime()); } @SuppressWarnings("static-access") @Test public void testScrapeID(){ ID id = parser.scrapeID(); assertEquals("Wrong ID", "070514-637", id.getId()); assertEquals("ID did not match from filename", parser.findIDTagFromFile(file), id.getId()); } @Test public void testScrapeActors(){ ArrayList<Actor> actorList = parser.scrapeActors(); assertTrue("Wrong actor name", actorList.get(0).getName().contains("Ichinose")); } @Test public void testScrapeGenre(){ ArrayList<Genre> genreList = parser.scrapeGenres(); assertEquals("Wrong genre", "Original Video", genreList.get(0).getGenre()); } @Test public void testTrailer(){ Trailer trailer = parser.scrapeTrailer(); assertEquals("Wrong trailer", "http://smovie.caribbeancom.com/sample/movies/070514-637/sample_m.mp4", trailer.getTrailer()); } @Test public void testScrapePoster(){ Thumb[] posters = parser.scrapePosters(); assertEquals("Poster size not right", true, posters.length > 0); assertEquals("Wrong poster url", "http://www.caribbeancom.com/moviepages/070514-637/images/l_l.jpg", posters[0].getThumbURL().toString()); } }