Esempio n. 1
0
        public void GetReviewersByMovie(int movie, int expectedIndex)
        {
            var expected = new List <int>[]
            {
                new List <int>(),
                new List <int>()
                {
                    1
                },
                new List <int>()
                {
                    3, 2, 1
                }
            };

            ratings = new MovieRating[]
            {
                new MovieRating(1, 2, 1, new DateTime(2020, 1, 1)),
                new MovieRating(1, 3, 3, new DateTime(2020, 1, 1)),
                new MovieRating(2, 3, 4, new DateTime(2020, 1, 2)),
                new MovieRating(3, 3, 4, new DateTime(2020, 1, 1))
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            var result = mrs.GetReviewersByMovie(movie);

            Assert.Equal(expected[expectedIndex], result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 2
0
        public void GetTopRatedMovies()
        {
            // arrange

            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 5, DateTime.Now),
                new MovieRating(2, 1, 4, DateTime.Now),

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

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

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

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

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

            // act
            var result = mrs.GetTopRatedMovies(4);

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 3
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)
            };

            MovieRatingsService mrs = new MovieRatingsService(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);
        }
Esempio n. 4
0
        public void CreateMovieRatingsServiceMovieRatingsRepositoryIsNullExpectArgumentException()
        {
            MovieRatingsService mrs = null;

            Action ac = () => mrs = new MovieRatingsService(null);

            ac.Should().Throw <ArgumentException>().WithMessage("Missing MovieRatings repository");
            mrs.Should().BeNull();
        }
        public void GetAverageRateOfMovie(int movie, double expected)
        {
            // arrange
            MovieRatingsService mrs = new MovieRatingsService(Repo);

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

            // assert
            Assert.AreEqual(expected, result);
        }
        public void NumberOfMoviesWithGrade(int grade, int expected)
        {
            // arrange
            MovieRatingsService mrs = new MovieRatingsService(Repo);

            // act
            int result = mrs.NumberOfMoviesWithGrade(grade);

            // assert
            Assert.AreEqual(expected, result);
        }
        public void GetAverageRateFromReviewer(int reviewer, double expected)
        {
            // arrange
            MovieRatingsService mrs = new MovieRatingsService(Repo);

            // act
            double result = Double.Parse(mrs.GetAverageRateFromReviewer(reviewer).ToString("0.####"));

            // assert
            Assert.AreEqual(expected, result);
        }
        public void GetNumberOfRatesByReviewer(int reviewer, int rate, int expected)
        {
            // arrange
            MovieRatingsService mrs = new MovieRatingsService(Repo);

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

            // assert
            Assert.AreEqual(expected, result);
        }
        public void GetNumberOfReviews(int movie, int expected)
        {
            // arrange
            MovieRatingsService mrs = new MovieRatingsService(Repo);

            // act
            int result = mrs.GetNumberOfReviews(movie);

            // assert
            Assert.AreEqual(expected, result);
        }
Esempio n. 10
0
        public void NumberOfMoviesWithGradeInvalidExpectArgumentException(int grade)
        {
            // arrange
            Mock <IMovieRatingsRepository> repoMock = new Mock <IMovieRatingsRepository>();
            MovieRatingsService            mrs      = new MovieRatingsService(repoMock.Object);

            // act
            var ex = Assert.Throws <ArgumentException>(() =>
            {
                int result = mrs.NumberOfMoviesWithGrade(grade);
            });

            // assert
            Assert.Equal("Grade must be 1 - 5", ex.Message);
        }
Esempio n. 11
0
        public void GetNumberOfReviewsFromReviewer(int movie, int expected)
        {
            ratings = new MovieRating[]
            {
                new MovieRating(2, 1, 3, DateTime.Now),
                new MovieRating(3, 1, 3, DateTime.Now),
                new MovieRating(3, 2, 4, DateTime.Now)
            };
            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            var result = mrs.GetNumberOfReviewsFromReviewer(movie);

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void GetMostProductiveReviewers()
        {
            // arrange
            MovieRatingsService mrs      = new MovieRatingsService(Repo);
            List <int>          expected = new List <int>()
            {
                571, 30, 457, 886, 758
            };

            // act
            var result = mrs.GetMostProductiveReviewers().GetRange(0, 5);

            // assert
            CollectionAssert.AreEqual(expected, result);
        }
        public void GetReviewersByMovie()
        {
            // arrange
            MovieRatingsService mrs      = new MovieRatingsService(Repo);
            List <int>          expected = new List <int>()
            {
                708, 199, 208, 501, 83
            };

            // act
            var result = mrs.GetReviewersByMovie(MovieWithMostReviews).GetRange(0, 5);

            // assert
            CollectionAssert.AreEqual(expected, result);
        }
Esempio n. 14
0
        public void GetAverageRateFromReviewerWithReviews(int reviewer, double expected)
        {
            ratings = new MovieRating[]
            {
                new MovieRating(2, 1, 3, DateTime.Now),
                new MovieRating(3, 1, 3, DateTime.Now),
                new MovieRating(3, 2, 4, DateTime.Now)
            };
            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            var result = mrs.GetAverageRateFromReviewer(reviewer);

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void GetTopMoviesByReviewer()
        {
            // arrange
            MovieRatingsService mrs      = new MovieRatingsService(Repo);
            List <int>          expected = new List <int>()
            {
                565510, 823941, 471578, 2137809, 912999
            };


            // act
            var result = mrs.GetTopMoviesByReviewer(ReviewerWithMostReviews).GetRange(0, 5);

            // assert
            CollectionAssert.AreEqual(expected, result);
        }
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            // arange
            MovieRatingsService mrs = new MovieRatingsService(Repo);

            List <int> expected = new List <int>()
            {
                1664010
            };

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

            // assert
            CollectionAssert.AreEqual(expected, result);
        }
Esempio n. 17
0
        public void GetAverageRatingFromReviewerWithNoReviewsExpectArgumentException()
        {
            int reviewer = 2;

            ratings = new MovieRating[]
            {
                new MovieRating(3, 1, 3, DateTime.Now),
                new MovieRating(3, 2, 4, DateTime.Now)
            };
            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            Action ac = () => mrs.GetAverageRateFromReviewer(reviewer);

            ac.Should().Throw <ArgumentException>().WithMessage($"Reviewer:{reviewer} has no reviews");
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void GetTopRatedMovies()
        {
            // arrange

            MovieRatingsService mrs = new MovieRatingsService(Repo);

            List <int> expected = new List <int>()
            {
                822109, 317050, 383247, 400162, 60343
            };

            // act
            List <int> result = mrs.GetTopRatedMovies(5);

            // assert
            CollectionAssert.AreEqual(expected, result);
        }
Esempio n. 19
0
        public void GetAverageRateOfMovie(int movie, double expected)
        {
            // arrange
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 2, 1, DateTime.Now),
                new MovieRating(2, 3, 4, DateTime.Now),
                new MovieRating(2, 3, 5, DateTime.Now)
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

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

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 20
0
        public void GetTopRatedMovies(int n, int[] expected)
        {
            ratings = new MovieRating[]
            {
                new MovieRating(1, 2, 3, DateTime.Now),     // movie 1 avg = 4
                new MovieRating(1, 3, 2, DateTime.Now),     // movie 2 avg = 3
                new MovieRating(2, 1, 4, DateTime.Now),     // movie 3 avg = 2.5
                new MovieRating(2, 3, 3, DateTime.Now),     // movie 4 avg = 4.5
                new MovieRating(2, 4, 4, DateTime.Now),
                new MovieRating(3, 4, 5, DateTime.Now)
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            var result = mrs.GetTopRatedMovies(n);

            Assert.Equal(expected.ToList(), result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 21
0
        public void GetAverageRateFromReviewer(int reviewer, double expected)
        {
            // arrange
            ratings = new List <MovieRating>()
            {
                new MovieRating(2, 1, 1, DateTime.Now),
                new MovieRating(3, 1, 4, DateTime.Now),
                new MovieRating(3, 2, 5, DateTime.Now),
                new MovieRating(4, 2, 5, DateTime.Now)
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

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

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 22
0
        public void GetNumberOfRates(int movie, int rate, int expected)
        {
            // arrange
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 2, 5, DateTime.Now),
                new MovieRating(1, 3, 2, DateTime.Now),
                new MovieRating(2, 3, 2, DateTime.Now),
                new MovieRating(5, 5, 3, DateTime.Now)
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            //act
            int result = mrs.GetNumberOfRates(movie, rate);

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 23
0
        public void NumberOfMoviesWithGrade(int grade, int expected)
        {
            // arrange
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 1, 3, DateTime.Now),
                new MovieRating(2, 1, 3, DateTime.Now),
                new MovieRating(3, 1, 4, DateTime.Now),

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

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            // act
            int result = mrs.NumberOfMoviesWithGrade(grade);

            // assert
            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 24
0
        public void GetMostProductiveReviewers()
        {
            ratings = new MovieRating[]
            {
                new MovieRating(1, 2, 3, DateTime.Now),
                new MovieRating(1, 3, 4, DateTime.Now),
                new MovieRating(2, 3, 1, DateTime.Now),
                new MovieRating(3, 4, 2, DateTime.Now),
                new MovieRating(3, 3, 1, DateTime.Now),
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

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

            var result = mrs.GetMostProductiveReviewers();

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 25
0
        public void GetReviewersByMovie()
        {
            // arrange
            ratings = new List <MovieRating>()
            {
                new MovieRating(1, 2, 3, DateTime.Now),
                new MovieRating(2, 3, 4, DateTime.Now),
                new MovieRating(3, 3, 5, DateTime.Now.AddDays(-1)),
                new MovieRating(4, 3, 5, DateTime.Now.AddDays(-2)),
                new MovieRating(5, 4, 4, DateTime.Now)
            };

            MovieRatingsService mrs = new MovieRatingsService(repoMock.Object);

            List <int> expected = new List <int>()
            {
            };
            List <int> expected2 = new List <int>()
            {
                1
            };
            List <int> expected3 = new List <int>()
            {
                4, 3, 2
            };

            // act
            var result  = mrs.GetReviewersByMovie(1);
            var result2 = mrs.GetReviewersByMovie(2);
            var result3 = mrs.GetReviewersByMovie(3);

            // assert
            Assert.Equal(expected, result);
            Assert.Equal(expected2, result2);
            Assert.Equal(expected3, result3);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Exactly(3));
        }
Esempio n. 26
0
        public void CreateMovieRatingsService()
        {
            var mrs = new MovieRatingsService(repoMock.Object);

            mrs.Should().NotBeNull();
        }