示例#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);
        }
        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);
        }
        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);
        }
        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);
        }
        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);
        }
        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);
        }
        public void GetMoviesWithHighestNumberOfTopRatesTest()
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            List <int>         result             = movieRatingService.GetMoviesWithHighestNumberOfTopRates();

            Console.WriteLine(result);
        }
        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);
        }
        public void GetAverageRateFromReviewerTest(int reviewer)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            double             result             = movieRatingService.GetAverageRateFromReviewer(reviewer);

            Console.WriteLine(result);
        }
        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);
        }
        public void GetNumberOfReviewsTest(int movie)
        {
            MovieRatingService movieRatingService = new MovieRatingService(repo);
            double             result             = movieRatingService.GetNumberOfReviews(movie);

            Console.WriteLine(result);
        }
        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);
        }
        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);
        }
        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);
        }