public void TmdbTitleNotFoundExceptionTest()
        {
            TmdbService Service = TmdbService.Service;

            title = "thisIsNotAnameOfAmovie";
            Service.SearchMovie(title);
        }
        public void TmdbGetMovieInfoTest()
        {
            TmdbService Service = TmdbService.Service;

            title = "Batman Begins";
            MovieInfo Expected = new MovieInfo();

            Expected.Actors   = "Missing data";
            Expected.Awards   = "Missing data";
            Expected.Country  = "Missing data";
            Expected.Director = "Missing data";
            Expected.Genre    = " Action, Crime, Drama, ";
            Expected.Language = "en";
            Expected.Plot     = "Driven by tragedy, billionaire Bruce Wayne dedicates his life to uncovering and defeating the corruption that plagues his home, Gotham City.  Unable to work within the system, he instead creates a new identity, a symbol of fear for the criminal underworld - The Batman.";
            Expected.Rated    = "Missing data";
            Expected.Rating   = "Missing data";
            Expected.Released = "2005-06-15";
            Expected.RunTime  = "140";
            Expected.Title    = "Batman Begins";
            Expected.Writer   = "Missing data";
            Expected.Year     = "Missing data";
            MovieInfo Actual = Service.GetMovieInfo(title);

            Assert.AreEqual(Expected, Actual);
        }
        public void TmdbMovieInfoNotFoundExceptionTest()
        {
            TmdbService Service = TmdbService.Service;

            title = "thisIsNotAnameOfAmovie";
            Service.GetMovieInfo(title);
        }
示例#4
0
        static void Main(string[] args)
        {
            var tmdb         = new TmdbService();
            var omdb         = new OmdbService();
            var movieService = new MovieService();

            if (tmdb.IsDataEnd())
            {
                Console.WriteLine("Data is the latest!");
                return;
            }

            //從上次的頁數開始
            int currentPage = tmdb.GetStartPage();
            PopularMovieViewModel tmdbMovie = tmdb.GetPopularMovie(currentPage);
            int?totalPages = tmdbMovie?.Total_pages;

            List <tmpMovieModel> awaitingInsertDatas = new List <tmpMovieModel>();



            while (totalPages.HasValue && currentPage <= totalPages)
            {
                foreach (var popurlarMovie in tmdbMovie.Results)
                {
                    //利用tmdb去抓omdb的資料
                    var omdbMovie = omdb.SearchByTitle(popurlarMovie.title);

                    if (omdbMovie != null && omdbMovie.Search != null)
                    {
                        awaitingInsertDatas.AddRange(
                            omdbMovie.Search.Select(m => m.ReturnInjectObjectNullable <tmpMovieModel>())
                            );
                    }

                    Console.WriteLine(popurlarMovie.title);

                    if (awaitingInsertDatas.Count >= 100)
                    {
                        movieService.bulkInsert(awaitingInsertDatas);
                        awaitingInsertDatas.Clear();
                    }
                }

                currentPage++;
                tmdbMovie = tmdb.GetPopularMovie(currentPage);
            }

            //剩下的再做一次
            movieService.bulkInsert(awaitingInsertDatas);

            //將 temp的資料全部轉移
            movieService.TransferDataFromTempTable();

            Console.WriteLine("done");
        }
        public void TmdbSearchMovieByTitleTest()
        {
            TmdbService Service = TmdbService.Service;

            title = "The Matrix";
            SearchResult Expected = new SearchResult();
            SearchResult Actual   = Service.SearchMovie(title);

            Assert.IsTrue(Actual.Titles.Contains("The Matrix") && Actual.Years.Contains("1999-03-30"));
        }
        public void TmdbAuthenticationFailedExceptionTest()
        {
            TmdbService Service = TmdbService.Service;

            title = "thisIsNotAnameOfAmovie";
            string UserName = "******";
            string Password = "******";

            Service.Authenticate(UserName, Password);
        }
        public void AuthenticateTest()
        {
            TmdbService Service  = TmdbService.Service;
            string      Expected = "OK";
            string      UserName = "******";
            string      Password = "******";
            string      Actual   = Service.Authenticate(UserName, Password);

            Assert.AreEqual(Expected, Actual);
        }
示例#8
0
 public FilmService(
     ILogger <FilmService> logger,
     OrderService orderService,
     TmdbService tmdbService,
     ChoicesRemainingService choicesRemainingService,
     FilmListerContext filmListerContext)
 {
     this.logger                  = logger ?? throw new ArgumentNullException(nameof(logger));
     this.orderService            = orderService ?? throw new ArgumentNullException(nameof(orderService));
     this.tmdbService             = tmdbService ?? throw new ArgumentNullException(nameof(tmdbService));
     this.choicesRemainingService = choicesRemainingService ?? throw new ArgumentNullException(nameof(choicesRemainingService));
     this.filmListerContext       = filmListerContext ?? throw new ArgumentNullException(nameof(filmListerContext));
 }
示例#9
0
        static ViewModelLocator()
        {
            #region Services
            var tmdbService  = new TmdbService();
            var movieService = new MovieService(tmdbService);
            var showService  = new ShowService(tmdbService);
            SimpleIoc.Default.Register <IUserService>(() => new UserService(movieService, showService));
            SimpleIoc.Default.Register <IMovieService>(() => movieService);
            SimpleIoc.Default.Register <IShowService>(() => showService);
            SimpleIoc.Default.Register <IMovieTrailerService, MovieTrailerService>();
            SimpleIoc.Default.Register <IShowTrailerService, ShowTrailerService>();
            SimpleIoc.Default.Register <IApplicationService, ApplicationService>();
            SimpleIoc.Default.Register <ISubtitlesService, SubtitlesService>();
            SimpleIoc.Default.Register <IGenreService, GenreService>();
            SimpleIoc.Default.Register <ICacheService, CacheService>();
            SimpleIoc.Default.Register <IDeviceLocator, DeviceLocator>();
            SimpleIoc.Default.Register <ISender>(() => new Sender());
            SimpleIoc.Default.Register <IChromecastService, ChromecastService>();
            SimpleIoc.Default.Register <NotificationMessageManager>();

            #endregion

            #region ViewModels

            SimpleIoc.Default.Register <WindowViewModel>();
            SimpleIoc.Default.Register <PagesViewModel>();

            SimpleIoc.Default.Register <MoviePageViewModel>();
            SimpleIoc.Default.Register <MovieDetailsViewModel>();

            SimpleIoc.Default.Register <ShowPageViewModel>();
            SimpleIoc.Default.Register <ShowDetailsViewModel>();

            SimpleIoc.Default.Register <CastViewModel>();

            SimpleIoc.Default.Register <SettingsPageViewModel>();
            SimpleIoc.Default.Register <AboutViewModel>();
            SimpleIoc.Default.Register <ApplicationSettingsViewModel>();
            SimpleIoc.Default.Register <HelpViewModel>();

            #endregion
        }