### Question:
MovieRatingJoiner implements ValueJoiner<Rating, Movie, RatedMovie> { public RatedMovie apply(Rating rating, Movie movie) { return RatedMovie.newBuilder() .setId(movie.getId()) .setTitle(movie.getTitle()) .setReleaseYear(movie.getReleaseYear()) .setRating(rating.getRating()) .build(); }  RatedMovie apply(Rating rating, Movie movie);  }### Answer:
@Test public void apply() { RatedMovie actualRatedMovie; Movie treeOfLife = Movie.newBuilder().setTitle("Tree of Life").setId(354).setReleaseYear(2011).build(); Rating rating = Rating.newBuilder().setId(354).setRating(9.8).build(); RatedMovie expectedRatedMovie = RatedMovie.newBuilder() .setTitle("Tree of Life") .setId(354) .setReleaseYear(2011) .setRating(9.8) .build(); MovieRatingJoiner joiner = new MovieRatingJoiner(); actualRatedMovie = joiner.apply(rating, treeOfLife); assertEquals(actualRatedMovie, expectedRatedMovie); }