Пример #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))
            };

            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

            var result = mrs.GetReviewersByMovie(movie);

            Assert.Equal(expected[expectedIndex], result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Пример #2
0
        public void CreateMovieRatingsServiceMovieRatingsRepositoryIsNullExpectArgumentException()
        {
            IMovieRatingsService mrs = null;

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

            ac.Should().Throw <ArgumentException>().WithMessage("Missing MovieRatings repository");
            mrs.Should().BeNull();
        }
Пример #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);
        }
Пример #10
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)
            };
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repoMock.Object);

            var result = mrs.GetNumberOfReviewsFromReviewer(movie);

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

            var result = mrs.GetAverageRateFromReviewer(reviewer);

            Assert.Equal(expected, result);
            repoMock.Verify(repo => repo.GetAllMovieRatings(), Times.Once);
        }
Пример #12
0
        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);
        }
Пример #13
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),
            };

            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);
        }
Пример #14
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)
            };

            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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        public void GetTopMoviesByReviewer()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetTopMoviesByReviewer(reviewerMostReviews);
        }
Пример #17
0
        public void GetAverageRateFromReviewer()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetAverageRateFromReviewer(reviewerMostReviews);
        }
Пример #18
0
        public void GetNumberOfRatesByReviewer(int grade)
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetNumberOfRatesByReviewer(reviewerMostReviews, grade);
        }
Пример #19
0
        public void GetMostProductiveReviewers()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetMostProductiveReviewers();
        }
Пример #20
0
        public void GetTopRatedMovies()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetTopRatedMovies(20);
        }
Пример #21
0
        public void CreateMovieRatingsService()
        {
            var mrs = new MovieRatingsServiceLinq(repoMock.Object);

            mrs.Should().NotBeNull();
        }
Пример #22
0
        public void GetNumberOfReviews()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetNumberOfReviews(movieMostReviews);
        }
Пример #23
0
        public void GetReviewersByMovie()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetReviewersByMovie(movieMostReviews);
        }
Пример #24
0
        public void GetAverageRateOfMovie()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetAverageRateOfMovie(movieMostReviews);
        }
Пример #25
0
        public void GetMoviesWithHighestNumberOfTopRates()
        {
            IMovieRatingsService mrs = new MovieRatingsServiceLinq(repository);

            mrs.GetMoviesWithHighestNumberOfTopRates();
        }