Ejemplo n.º 1
0
        public void The_first_MovieRatedByAudience_event_should_set_the_rating()
        {
            var movieId        = Guid.NewGuid();
            var ratedByCritics = new MovieRatedByAudience(movieId, 60);

            var repo = new DummyMovieProjectionRepository();

            repo.List[movieId] = new MovieProjection {
                Id = movieId
            };

            var handler = new MovieProjectionHandlers(repo);

            handler.Handle(ratedByCritics);

            repo.List.Count.Should().Be(1);
            repo.List.Values.ShouldBeEquivalentTo(new[]
            {
                new MovieProjection
                {
                    Id            = movieId,
                    AudienceScore = 60
                }
            });
        }
Ejemplo n.º 2
0
 public void Handle(MovieRatedByAudience movieRated)
 {
     UpdateMovie(movieRated.MovieId,
                 m =>
     {
         if (m.AudienceScore.HasValue)
         {
             m.AudienceScore = (int)Math.Round(0.9 * m.AudienceScore.Value + 0.1 * movieRated.Rating, 0);
         }
         else
         {
             m.AudienceScore = movieRated.Rating;
         }
     });
 }