コード例 #1
0
        public void GetReviewersByMovie()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetReviewersByMovie(10000);

            Assert.IsNotNull(result);
        }
コード例 #2
0
        public void GetMostProductiveReviewers()
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 1, DateTime.Now),
                new MovieRating(1, 2, 1, DateTime.Now),

                new MovieRating(2, 1, 1, DateTime.Now),
                new MovieRating(2, 2, 1, DateTime.Now),
                new MovieRating(2, 3, 1, DateTime.Now),

                new MovieRating(3, 1, 1, DateTime.Now),
                new MovieRating(3, 2, 1, DateTime.Now),
                new MovieRating(3, 3, 1, DateTime.Now),
            };

            IMovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> expected = new List <int>()
            {
                2, 3
            };
            List <int> result = mrs.GetMostProductiveReviewers();

            Assert.Equal(expected, result);
            repoMock.Verify(r => r.Ratings, Times.Once);
        }
コード例 #3
0
        public void GetTopMoviesByReviewer(int reviewer, int highestMovie, int lowestMovie)
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 1, DateTime.Now.AddDays(-1)), //lowest
                new MovieRating(1, 2, 1, DateTime.Now),
                new MovieRating(1, 3, 3, DateTime.Now),
                new MovieRating(1, 4, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(1, 5, 5, DateTime.Now), //highest

                new MovieRating(2, 1, 5, DateTime.Now), //highest
                new MovieRating(2, 2, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(2, 3, 3, DateTime.Now),
                new MovieRating(2, 4, 1, DateTime.Now),
                new MovieRating(2, 5, 1, DateTime.Now.AddDays(-1)), //lowest

                new MovieRating(3, 1, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(3, 2, 1, DateTime.Now.AddDays(-1)), //lowest
                new MovieRating(3, 3, 3, DateTime.Now),
                new MovieRating(3, 4, 5, DateTime.Now),             //highest
                new MovieRating(3, 5, 1, DateTime.Now)
            };

            IMovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> results = mrs.GetTopMoviesByReviewer(reviewer);

            Assert.Equal(highestMovie, results[0]);
            Assert.Equal(lowestMovie, results[4]);
            repoMock.Verify(r => r.Ratings, Times.Once);
        }
        public void GetNumberOfRatesByReviewerTest(int reviewer, int rate)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            double             result             = movieRatingService.GetNumberOfRatesByReviewer(reviewer, rate);

            Console.WriteLine(result);
        }
        public void GetAverageRateOfMovieTest(int movie)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            double             result             = movieRatingService.GetAverageRateOfMovie(movie);

            Console.WriteLine(result);
        }
コード例 #6
0
        public void GetTopMoviesByReviewer(int reviewer, int[] expected)
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(2, 1, 5, DateTime.Now),
                new MovieRating(2, 2, 5, DateTime.Now),
                new MovieRating(2, 3, 4, DateTime.Now),
                new MovieRating(2, 4, 5, DateTime.Now),

                new MovieRating(3, 2, 1, DateTime.Now),
                new MovieRating(3, 3, 5, DateTime.Now),

                new MovieRating(4, 4, 5, DateTime.Parse("31/01/1999", new CultureInfo("da-DK"))),
                new MovieRating(4, 3, 5, DateTime.Parse("31/01/1998", new CultureInfo("da-DK"))),
                new MovieRating(4, 2, 4, DateTime.Parse("31/01/1997", new CultureInfo("da-DK"))),
                new MovieRating(4, 1, 5, DateTime.Parse("31/01/1996", new CultureInfo("da-DK"))),
            };

            MovieRatingService mrs = new MovieRatingService(repoMock.Object);

            var result = mrs.GetTopMoviesByReviewer(reviewer).ToArray();

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void GetNumberOfReviewsFromReviewerTest(int reviewer)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            int result = movieRatingService.GetNumberOfReviewsFromReviewer(reviewer);

            Console.WriteLine(result);
        }
コード例 #8
0
        public void GetTopRatedMovies()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetTopRatedMovies(100000);

            Assert.IsNotNull(result);
        }
コード例 #9
0
        public MovieRatingFixture()
        {
            JsonReader            jsonReader            = new JsonReader();
            MovieRatingRepository movieRatingRepository = new MovieRatingRepository(jsonReader);

            MovieRatingService = new MovieRatingService(movieRatingRepository);
        }
コード例 #10
0
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetMoviesWithHighestNumberOfTopRates();

            Assert.IsNotNull(result);
        }
コード例 #11
0
        public void GetMostProductiveReviewers()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetMostProductiveReviewers();

            Assert.IsNotNull(result);
        }
コード例 #12
0
        public void GetNumberOfRates()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetNumberOfRates(100000, 5);

            Assert.IsNotNull(result);
        }
コード例 #13
0
        public void GetAverageRateOfMovie()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetAverageRateOfMovie(100000);

            Assert.IsNotNull(result);
        }
コード例 #14
0
        public void GetNumberofReviewsFromReviewer()
        {
            MovieRatingService service = new MovieRatingService(repo);
            var result = service.GetNumberOfReviewsFromReviewer(100000);

            Assert.IsNotNull(result);
        }
コード例 #15
0
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 5, DateTime.Now),
                new MovieRating(1, 2, 5, DateTime.Now),

                new MovieRating(2, 1, 4, DateTime.Now),
                new MovieRating(2, 2, 5, DateTime.Now),

                new MovieRating(2, 3, 5, DateTime.Now),
                new MovieRating(3, 3, 5, DateTime.Now),
            };

            MovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> expected = new List <int>()
            {
                2, 3
            };

            // act
            var result = mrs.GetMoviesWithHighestNumberOfTopRates();

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
コード例 #16
0
        public void GetAverageRateOfMovie(int movie, double expected)
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
                new Rating(1, 1, 2, new DateTime(2003, 6, 6)),
                new Rating(10, 1, 3, new DateTime(2003, 6, 6)),
                new Rating(2, 3, 3, new DateTime(2005, 9, 6)),
                new Rating(3, 4, 4, new DateTime(2004, 12, 23)),
                new Rating(4, 6, 2, new DateTime(2005, 1, 23)),
                new Rating(3, 5, 2, new DateTime(2005, 2, 23)),
                new Rating(4, 5, 2, new DateTime(2005, 3, 23)),
                new Rating(5, 5, 3, new DateTime(2005, 4, 23)),
                new Rating(6, 5, 3, new DateTime(2005, 5, 23)),
                new Rating(2, 2, 3, new DateTime(2002, 1, 22)),
                new Rating(2, 3, 4, new DateTime(2001, 12, 1))
            };


            //act
            double AverageRateOfMovie = mrs.GetAverageRateOfMovie(movie);

            //assert
            Assert.Equal(expected, AverageRateOfMovie);

            repoMock.Verify(rep => rep.GetAll(), Times.AtLeastOnce);
        }
コード例 #17
0
        public void GetMostProductiveReviewers()
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(2, 1, 5, DateTime.Now),
                new MovieRating(2, 2, 5, DateTime.Now),
                new MovieRating(2, 3, 4, DateTime.Now),
                new MovieRating(2, 4, 5, DateTime.Now),

                new MovieRating(3, 2, 5, DateTime.Now),
                new MovieRating(3, 3, 5, DateTime.Now),

                new MovieRating(4, 3, 5, DateTime.Now),
                new MovieRating(4, 4, 5, DateTime.Now),
                new MovieRating(4, 5, 5, DateTime.Now),
                new MovieRating(4, 6, 5, DateTime.Now),
            };

            MovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> expected = new List <int>()
            {
                2, 4
            };


            var result = mrs.GetMostProductiveReviewers();

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
コード例 #18
0
        public void GetAverageRateOfMovieExpectArgumentException()
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
            };



            // act
            var ex = Assert.Throws <ArgumentException>(() =>
            {
                double AverageRateOfMovie = mrs.GetAverageRateOfMovie(1);
            });


            //assert
            // assert
            Assert.Equal("List is empty", ex.Message);

            repoMock.Verify(rep => rep.GetAll(), Times.Once);
        }
コード例 #19
0
        public void GetMoviesWithHighestNumberOfTopRatesTest()
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            List <int>         result             = movieRatingService.GetMoviesWithHighestNumberOfTopRates();

            Console.WriteLine(result);
        }
コード例 #20
0
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
                new Rating(1, 1, 5, new DateTime(2003, 6, 6)),
                new Rating(1, 3, 3, new DateTime(2005, 9, 6)),
                new Rating(1, 4, 4, new DateTime(2004, 12, 23)),
                new Rating(1, 6, 2, new DateTime(2005, 1, 23)),
                new Rating(3, 5, 2, new DateTime(2005, 2, 23)),
                new Rating(4, 5, 2, new DateTime(2005, 3, 23)),
                new Rating(5, 5, 5, new DateTime(2005, 4, 23)),
                new Rating(6, 5, 3, new DateTime(2005, 5, 23)),
                new Rating(2, 2, 3, new DateTime(2002, 1, 22)),
                new Rating(2, 3, 4, new DateTime(2001, 12, 1))
            };

            List <int> MoviesWithHighestNumberOfTopRatesExpected = new List <int>
            {
                1,
                5
            };

            //act
            List <int> MoviesWithHighestNumberOfTopRates = new List <int>(mrs.GetMoviesWithHighestNumberOfTopRates());

            Assert.Equal(MoviesWithHighestNumberOfTopRatesExpected, MoviesWithHighestNumberOfTopRates);

            repoMock.Verify(rep => rep.GetAll(), Times.Once);
        }
コード例 #21
0
        public void GetAverageRateFromReviewerTest(int reviewer)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            double             result             = movieRatingService.GetAverageRateFromReviewer(reviewer);

            Console.WriteLine(result);
        }
コード例 #22
0
        public void GetTopMoviesByReviewer(int reviewer, int[] expected)
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
                new Rating(1, 1, 5, new DateTime(2003, 6, 6)),
                new Rating(1, 2, 4, new DateTime(2003, 6, 6)),
                new Rating(1, 3, 3, new DateTime(2003, 6, 6)),
                new Rating(1, 4, 3, new DateTime(2004, 6, 6)),
                new Rating(1, 5, 3, new DateTime(2005, 6, 6)),


                new Rating(2, 1, 5, new DateTime(2003, 6, 6)),
                new Rating(2, 2, 5, new DateTime(2004, 6, 6)),
                new Rating(2, 3, 3, new DateTime(2003, 6, 6)),
                new Rating(2, 4, 4, new DateTime(2003, 6, 6)),
            };

            List <int> TopRatedMoviesExpected = new List <int>(expected);


            //act
            List <int> MostProductiveReviewers = mrs.GetTopMoviesByReviewer(reviewer);

            //assert
            Assert.Equal(TopRatedMoviesExpected, MostProductiveReviewers);

            repoMock.Verify(rep => rep.GetAll(), Times.Once);
        }
コード例 #23
0
        public void GetNumberOfReviewsTest(int movie)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            double             result             = movieRatingService.GetNumberOfReviews(movie);

            Console.WriteLine(result);
        }
コード例 #24
0
        public void GetReviewersByMovie(int movie, int[] expected)
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
                new Rating(1, 1, 5, new DateTime(2003, 6, 6)),
                new Rating(2, 1, 4, new DateTime(2003, 6, 6)),
                new Rating(3, 1, 3, new DateTime(2003, 6, 6)),
                new Rating(4, 1, 3, new DateTime(2004, 6, 6)),
                new Rating(5, 1, 3, new DateTime(2005, 6, 6)),


                new Rating(1, 2, 1, new DateTime(2003, 6, 6)),
                new Rating(2, 2, 2, new DateTime(2003, 6, 6)),
                new Rating(3, 2, 3, new DateTime(2003, 6, 6)),
                new Rating(4, 2, 4, new DateTime(2004, 6, 6)),
                new Rating(5, 2, 5, new DateTime(2005, 6, 6)),
            };

            List <int> ReviewersByMovieExpected = new List <int>(expected);


            //act
            List <int> ReviewersByMovie = mrs.GetReviewersByMovie(movie);

            //assert
            Assert.Equal(ReviewersByMovieExpected, ReviewersByMovie);

            repoMock.Verify(rep => rep.GetAll(), Times.Once);
        }
コード例 #25
0
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 5, DateTime.Now),
                new MovieRating(1, 2, 5, DateTime.Now),

                new MovieRating(2, 1, 5, DateTime.Now),
                new MovieRating(2, 2, 4, DateTime.Now),

                new MovieRating(2, 3, 5, DateTime.Now),
                new MovieRating(3, 3, 5, DateTime.Now)
            };

            IMovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> expected = new List <int>()
            {
                1, 3
            };
            List <int> result = mrs.GetMoviesWithHighestNumberOfTopRates();

            Assert.Equal(expected, result);
            repoMock.Verify(r => r.Ratings, Times.Once);
        }
コード例 #26
0
        public void GetNumberOfReviewsFromReviewerTest(int reviewerid, int expected)
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
                new Rating(1, 1, 2, new DateTime(2003, 6, 6)),
                new Rating(1, 3, 3, new DateTime(2005, 9, 6)),
                new Rating(1, 4, 4, new DateTime(2004, 12, 23)),
                new Rating(1, 6, 2, new DateTime(2005, 1, 23)),
                new Rating(3, 5, 2, new DateTime(2005, 2, 23)),
                new Rating(4, 5, 2, new DateTime(2005, 3, 23)),
                new Rating(5, 5, 2, new DateTime(2005, 4, 23)),
                new Rating(6, 5, 2, new DateTime(2005, 5, 23)),
                new Rating(2, 2, 3, new DateTime(2002, 1, 22)),
                new Rating(2, 3, 4, new DateTime(2001, 12, 1))
            };

            //act
            int NumberOfReviews = mrs.GetNumberOfReviewsFromReviewer(reviewerid);

            //assert
            Assert.Equal(expected, NumberOfReviews);

            repoMock.Verify(rep => rep.GetAll(), Times.Once);
        }
コード例 #27
0
        public void GetTopRatedMovies(int amount, int expectedLowestMovie)
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 1, DateTime.Now),
                new MovieRating(1, 2, 2, DateTime.Now),
                new MovieRating(1, 3, 3, DateTime.Now),
                new MovieRating(1, 4, 4, DateTime.Now),
                new MovieRating(1, 5, 5, DateTime.Now),

                new MovieRating(2, 1, 1, DateTime.Now),
                new MovieRating(2, 2, 2, DateTime.Now),
                new MovieRating(2, 3, 3, DateTime.Now),
                new MovieRating(2, 4, 4, DateTime.Now),
                new MovieRating(2, 5, 5, DateTime.Now),

                new MovieRating(3, 1, 1, DateTime.Now),
                new MovieRating(3, 2, 2, DateTime.Now),
                new MovieRating(3, 3, 3, DateTime.Now),
                new MovieRating(3, 4, 4, DateTime.Now),
                new MovieRating(3, 5, 5, DateTime.Now),
            };

            IMovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> results = mrs.GetTopRatedMovies(amount);

            Assert.Equal(expectedLowestMovie, results[amount - 1]);
            repoMock.Verify(r => r.Ratings, Times.Once);
        }
コード例 #28
0
        public void GetAverageRateFromReviewer(int reviewer, double expected)
        {
            //arrange
            IRepository <Rating> repo = repoMock.Object;
            MovieRatingService   mrs  = new MovieRatingService(repo);

            dataStore = new List <Rating>
            {
                new Rating(1, 1, 2, new DateTime(2003, 6, 6)),
                new Rating(1, 3, 3, new DateTime(2005, 9, 6)),
                new Rating(1, 4, 4, new DateTime(2004, 12, 23)),
                new Rating(1, 6, 2, new DateTime(2005, 1, 23)),
                new Rating(3, 5, 2, new DateTime(2005, 2, 23)),
                new Rating(4, 5, 2, new DateTime(2005, 3, 23)),
                new Rating(5, 5, 2, new DateTime(2005, 4, 23)),
                new Rating(6, 5, 2, new DateTime(2005, 5, 23)),
                new Rating(6, 5, 5, new DateTime(2005, 5, 23)),
                new Rating(6, 5, 2, new DateTime(2005, 5, 23)),
                new Rating(2, 2, 3, new DateTime(2002, 1, 22)),
                new Rating(2, 3, 4, new DateTime(2001, 12, 1))
            };

            //act
            double averageRateFromReviewer = mrs.GetAverageRateFromReviewer(reviewer);

            _testOutputHelper.WriteLine(averageRateFromReviewer.ToString());

            //assert
            Assert.Equal(expected, averageRateFromReviewer);

            repoMock.Verify(rep => rep.GetAll(), Times.AtLeastOnce);
        }
コード例 #29
0
        public void GetReviewersByMovie(int movie, int firstListedReviewer, int lastListedReviewer)
        {
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 1, DateTime.Now.AddDays(-1)), //lowest
                new MovieRating(2, 1, 1, DateTime.Now),
                new MovieRating(3, 1, 3, DateTime.Now),
                new MovieRating(4, 1, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(5, 1, 5, DateTime.Now), //highest

                new MovieRating(1, 2, 5, DateTime.Now), //highest
                new MovieRating(2, 2, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(3, 2, 3, DateTime.Now),
                new MovieRating(4, 2, 1, DateTime.Now),
                new MovieRating(5, 2, 1, DateTime.Now.AddDays(-1)), //lowest

                new MovieRating(1, 3, 1, DateTime.Now),
                new MovieRating(2, 3, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(3, 3, 5, DateTime.Now),             //highest
                new MovieRating(4, 3, 1, DateTime.Now.AddDays(-1)), //lowest
                new MovieRating(5, 3, 3, DateTime.Now)
            };

            IMovieRatingService mrs = new MovieRatingService(repoMock.Object);

            List <int> results = mrs.GetReviewersByMovie(movie);

            Assert.Equal(firstListedReviewer, results[0]);
            Assert.Equal(lastListedReviewer, results[4]);
            repoMock.Verify(r => r.Ratings, Times.Once);
        }
        public void GetNumberOfRatesByReviewer(int reviewer, int rate, int expected)
        {
            // arrange
            ratings = new List <MovieRating>()
            {
                new MovieRating(2, 1, 3, DateTime.Now),
                new MovieRating(2, 2, 4, DateTime.Now),
                new MovieRating(2, 3, 4, DateTime.Now),
                new MovieRating(3, 1, 5, DateTime.Now),
                new MovieRating(3, 2, 5, DateTime.Now),
                new MovieRating(3, 3, 5, DateTime.Now),
                new MovieRating(3, 2, 3, DateTime.Now),
                new MovieRating(4, 1, 2, DateTime.Now),
                new MovieRating(4, 2, 2, DateTime.Now),
                new MovieRating(4, 3, 1, DateTime.Now),
                new MovieRating(4, 4, 1, DateTime.Now),
            };

            MovieRatingService mrs = new MovieRatingService(repoMock.Object);

            // act

            int result = mrs.GetNumberOfRatesByReviewer(reviewer, rate);

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.Ratings, Times.Once);
        }