@Test
public void readReviewsArrayTest() throws IOException {

    when(parser.readReviewsArray(reader)).thenCallRealMethod();
    when(reader.hasNext()).thenReturn(true, true, true, true, true, true, true, true, true, true, false, true, false, false);
    when(reader.nextName()).thenReturn("aspects", "author_name", "author_url", "language", "rating", "text", "time", "skip");
    List<RatingAspect> aspects = Arrays.asList(new RatingAspect(1, "one"), new RatingAspect(-1, null));
    when(parser.readAspectsArray(reader)).thenReturn(aspects);
    when(reader.nextString()).thenReturn("name", "url", "lang", "txt");
    when(reader.nextInt()).thenReturn(1);
    when(reader.nextLong()).thenReturn(10L);
    List<PlaceReview> expected = Arrays.asList(new PlaceReview(aspects, "name", "url", "lang", 1, "txt", 10L), new PlaceReview(null, null, null, null, -1, null, -1L));
    List<PlaceReview> actual = parser.readReviewsArray(reader);
    assertEquals(expected, actual);
}