package moviescraper.doctord.controller.siteparsingprofile.test;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import moviescraper.doctord.controller.siteparsingprofile.SiteParsingProfile;
import moviescraper.doctord.controller.siteparsingprofile.specific.CaribbeancomPremiumParsingProfile;
import moviescraper.doctord.model.SearchResult;
import moviescraper.doctord.model.dataitem.Actor;
import moviescraper.doctord.model.dataitem.Genre;
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 CaribbeancomPremiumParsingProfileTest {
static File file = new File("C:/Temp/Caribbeancom Premium 062014_878.avi");
static CaribbeancomPremiumParsingProfile parser = new CaribbeancomPremiumParsingProfile();
@BeforeClass
public static void initialize() {
parser = new CaribbeancomPremiumParsingProfile();
String searchString = parser.createSearchString(file);
try {
SearchResult[] searchResults = parser.getSearchResults(searchString);
Document document = SiteParsingProfile.downloadDocument(searchResults[0]);
parser.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);
assertEquals(findIDTagFromFile, "062014_878");
}
@Test
public void testScrapeID(){
String id = parser.scrapeID().getId();
assertEquals("062014_878", id);
}
@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("Glamorous Venus M - The Ultimate Masochist BODY Fucking -", title.getTitle());
}
@Test
public void testScrapeOriginalTitle(){
OriginalTitle originalTitle = parser.scrapeOriginalTitle();
assertEquals("Wrong original title", "グラマラス・ビーナスM −究極マゾBODY姦−", originalTitle.getOriginalTitle());
}
@Test
public void testScrapeRating(){
Rating rating = parser.scrapeRating();
assertEquals("Wrong rating", "", 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-20", 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", "120", movieRuntime.getRuntime());
}
@Test
public void testScrapeActors(){
ArrayList<Actor> actorList = parser.scrapeActors();
assertEquals("Wrong actor", "Ichiki Miho", actorList.get(0).getName());
}
@Test
public void testScrapeGenre(){
ArrayList<Genre> genreList = parser.scrapeGenres();
assertEquals("Wrong genre", "Pornstar", genreList.get(0).getGenre());
}
@Test
public void testTrailer(){
Trailer trailer = parser.scrapeTrailer();
assertEquals("Wrong trailer", "http://sample.caribbeancompr.com/moviepages/062014_878/sample/sample.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://en.caribbeancompr.com/moviepages/062014_878/images/main_b.jpg", posters[0].getThumbURL().toString());
}
}