public void GetMostAcclaimed_ReturnsCorrectAlbums() { // Arrange var context = this.ServiceProvider.GetRequiredService <WmipDbContext>(); var album1 = new Album { Id = 1, Name = "Abm1", ApprovalStatus = ApprovalStatus.Approved, ReleaseStage = ReleaseStage.Announced }; var album2 = new Album { Id = 2, Name = "Abm2", ApprovalStatus = ApprovalStatus.Approved, ReleaseStage = ReleaseStage.Announced }; var album3 = new Album { Id = 3, Name = "Abm3", ApprovalStatus = ApprovalStatus.Approved, ReleaseStage = ReleaseStage.Announced }; var review1 = new Review { AlbumId = 1, ReviewScore = 10, ReviewType = ReviewType.User }; var review3 = new Review { AlbumId = 1, ReviewScore = 4, ReviewType = ReviewType.Critic }; var review2 = new Review { AlbumId = 2, ReviewScore = 4, ReviewType = ReviewType.User }; var review4 = new Review { AlbumId = 2, ReviewScore = 10, ReviewType = ReviewType.Critic }; context.Albums.AddRange(album1, album2, album3); context.Reviews.AddRange(review1, review2, review3, review4); context.SaveChanges(); var albumsService = new AlbumsService(context); // Act var userAcclaimed = albumsService.GetMostAcclaimed(ReviewType.User, 1); var criticAcclaimed = albumsService.GetMostAcclaimed(ReviewType.Critic, 1); //Assert Assert.Equal(1, userAcclaimed.First().Id); Assert.Equal(2, criticAcclaimed.First().Id); }