Exemplo n.º 1
0
        public void Should_Find_Favorite_Escape_Room()
        {
            var escapeRooms = new List <EscapeRoom>
            {
                new EscapeRoom
                {
                    EscapeRoomId = 1,
                    Category     = Category.Abstract
                },
                new EscapeRoom
                {
                    EscapeRoomId = 2,
                    Category     = Category.Abstract
                },
                new EscapeRoom
                {
                    EscapeRoomId = 3,
                    Category     = Category.Criminal
                },
                new EscapeRoom
                {
                    EscapeRoomId = 4,
                    Category     = Category.Horror
                }
            };

            var reviews = new List <Review>
            {
                new Review
                {
                    EscapeRoomId = 1,
                    Rating       = Rating.Eight
                },
                new Review
                {
                    EscapeRoomId = 2,
                    Rating       = Rating.Nine
                },
                new Review
                {
                    EscapeRoomId = 3,
                    Rating       = Rating.Eight
                },
                new Review
                {
                    EscapeRoomId = 4,
                    Rating       = Rating.Nine
                },
            };

            var favoriteEscapeRoom = _userStatisticProvider.FindFavoriteEscapeRoom(reviews, escapeRooms);

            Assert.AreEqual("Abstract", favoriteEscapeRoom);
        }
Exemplo n.º 2
0
        public UserStatisticsDto GetForUserStatistics(int userId)
        {
            _userRepository.FindById(userId);
            var reviews     = _reviewRepository.GetReviews().Where(e => e.UserId == userId).ToList();
            var escapeRooms = _escapeRoomRepository.GetEscapeRooms().ToList();

            return(new UserStatisticsDto
            {
                AverageRating = _userStatisticProvider.CalculateAverageRating(reviews),
                AverageReviewLength = _userStatisticProvider.CalculateAverageReviewLength(reviews),
                ReviewsNumber = reviews.Count,
                FavoriteEscapeRoomType = _userStatisticProvider.FindFavoriteEscapeRoom(reviews, escapeRooms),
            });
        }