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))
            };

            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

            var result = mrs.GetReviewersByMovie(movie);

            Assert.Equal(expected[expectedIndex], result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void CreateMovieRatingsServiceMovieRatingsRepositoryIsNullExpectArgumentException()
        {
            IMovieRatingsService mrs = null;

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

            ac.Should().Throw <ArgumentException>().WithMessage("Missing MovieRatings repository");
            mrs.Should().BeNull();
        }
Esempio n. 3
0
        public static void SetUpTest(TestContext tc)
        {
            MovieRatingsRepository repo = new MovieRatingsRepository(@"C:\Users\bhp\source\repos\PP\2020E\Compulsory\ratings.json");

            reviewerMostReviews = GetReviewerMostReviews(repo);
            movieMostReviews    = GetMovieMostReviews(repo);

            service = new MovieRatingsServiceLinq(repo);
        }
        public void GetTopRatedMovies()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            double seconds = TimeInSeconds(() =>
            {
                var result = mrs.GetTopRatedMovies(100);
            });

            Assert.True(seconds <= 4);
        }
        public void GetTopMoviesByReviewer()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            double seconds = TimeInSeconds(() =>
            {
                var result = mrs.GetTopMoviesByReviewer(reviewerMostReviews);
            });

            Assert.True(seconds <= 4);
        }
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            double seconds = TimeInSeconds(() =>
            {
                mrs.GetMoviesWithHighestNumberOfTopRates();
            });

            Assert.True(seconds <= 4);
        }
        public void GetAverageRateOfMovie()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            double seconds = TimeInSeconds(() =>
            {
                double result = mrs.GetAverageRateOfMovie(movieMostReviews);
            });

            Assert.True(seconds <= 4);
        }
        public void GetMostProductiveReviewers()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            double seconds = TimeInSeconds(() =>
            {
                var result = mrs.GetMostProductiveReviewers();
            });

            Assert.True(seconds <= 4);
        }
        public void GetNumberOfReviews()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            double seconds = TimeInSeconds(() =>
            {
                int result = mrs.GetNumberOfReviews(movieMostReviews);
            });

            Assert.True(seconds <= 4);
        }
        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)
            };
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

            var result = mrs.GetNumberOfReviewsFromReviewer(movie);

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        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)
            };
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

            var result = mrs.GetAverageRateFromReviewer(reviewer);

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void GetAverageRatingFromReviewerWithNoReviewsExpectArgumentException()
        {
            int reviewer = 2;

            ratings = new MovieRating[]
            {
                new MovieRating(3, 1, 3, DateTime.Now),
                new MovieRating(3, 2, 4, DateTime.Now)
            };
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(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 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),
            };

            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

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

            var result = mrs.GetMostProductiveReviewers();

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

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

            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

            var result = mrs.GetTopRatedMovies(n);

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            ratings = new MovieRating[]
            {
                new MovieRating(1, 1, 4, DateTime.Now),
                new MovieRating(1, 2, 5, DateTime.Now),
                new MovieRating(1, 3, 5, DateTime.Now),
                new MovieRating(2, 3, 5, DateTime.Now),
                new MovieRating(3, 3, 4, DateTime.Now),
                new MovieRating(3, 4, 5, DateTime.Now),
                new MovieRating(3, 4, 5, DateTime.Now),
            };
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

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

            var result = mrs.GetMoviesWithHighestNumberOfTopRates();

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Esempio n. 16
0
        public void GetTopMoviesByReviewer()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetTopMoviesByReviewer(reviewerMostReviews);
        }
Esempio n. 17
0
        public void GetAverageRateFromReviewer()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetAverageRateFromReviewer(reviewerMostReviews);
        }
Esempio n. 18
0
        public void GetNumberOfRatesByReviewer(int grade)
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetNumberOfRatesByReviewer(reviewerMostReviews, grade);
        }
Esempio n. 19
0
        public void GetMostProductiveReviewers()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetMostProductiveReviewers();
        }
Esempio n. 20
0
        public void GetTopRatedMovies()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetTopRatedMovies(20);
        }
        public void CreateMovieRatingsService()
        {
            var mrs = new MovieRatingsServiceLinq(repoMock.Object);

            mrs.Should().NotBeNull();
        }
Esempio n. 22
0
        public void GetNumberOfReviews()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetNumberOfReviews(movieMostReviews);
        }
Esempio n. 23
0
        public void GetReviewersByMovie()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetReviewersByMovie(movieMostReviews);
        }
Esempio n. 24
0
        public void GetAverageRateOfMovie()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetAverageRateOfMovie(movieMostReviews);
        }
Esempio n. 25
0
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetMoviesWithHighestNumberOfTopRates();
        }