public void Weighted_Averaging_For_Two_Reviews() { var data = BuildRestaurantForReview(3, 9); var rater = new RestaurantRater(data); var result = rater.ComputeRate(new WeightedRatingAlgorithm(), 10); Assert.AreEqual(5, result.Rating); }
public void Rating_Includes_Only_First_N_Reviews() { var data = BuildRestaurantForReview(1, 1, 1, 10, 10, 10); var rater = new RestaurantRater(data); var result = rater.ComputeRate(new SimpleRatingAlgorithm(), 3); Assert.AreEqual(1, result.Rating); }
public void Computes_Weighted_Result_For_Zero_Reviews() { var restaurant = BuildRestaurantAndReviews(); var rater = new RestaurantRater(restaurant); var result = rater.ComputeRating(new WeightedRatingAlgorithm(), 10); Assert.IsNull(result.Rating); }
public void Computes_Weighted_Result_For_Two_Reviews() { var restaurant = BuildRestaurantAndReviews(5, 8); var rater = new RestaurantRater(restaurant); var result = rater.ComputeRating(new WeightedRatingAlgorithm(), 10); Assert.AreEqual(6, result.Rating); }
public void Computes_Simple_Result_For_The_First_N_Reviews() { var restaurant = BuildRestaurantAndReviews(2, 3, 4, 8, 9, 10); var rater = new RestaurantRater(restaurant); var result = rater.ComputeRating(new SimpleRatingAlgorithm(), 3); Assert.AreEqual(3, result.Rating); }
public void Computes_Simple_Result_For_Two_Reviews() { var restaurant = BuildRestaurantAndReviews(4, 6); var rater = new RestaurantRater(restaurant); var result = rater.ComputeRating(new SimpleRatingAlgorithm(), 10); Assert.AreEqual(5, result.Rating); }
public void Simple_Averaging_For_One_Review() { var data = BuildRestaurantForReview(4); /* var data = new Restaurant(); data.Reviews = new List<Review>(); data.Reviews.Add(new Review() { Rating = 4 }); */ var rater = new RestaurantRater(data); //var result = rater.ComputeSimpleRate(10); var result = rater.ComputeRate(new SimpleRatingAlgorithm(), 10); Assert.AreEqual(4, result.Rating); }
private static RatingRestult ComputeRating(Restaurant data) { var target = new RestaurantRater(data); var result = target.ComputeRating(); return result; }