List<TypedMap> actual = manager.nativeQuery(statement).get();
assertThat(actual).hasSize(2);
TypedMap row1 = actual.get(0);
TypedMap row2 = actual.get(1);
assertThat(row1.get("name")).isEqualTo("DuyHai");
assertThat(row1.get("age_in_years")).isEqualTo(35L);
assertThat(row1.<List<String>>getTyped("friends")).containsExactly("foo", "bar");
assertThat(row1.<Set<String>>getTyped("followers")).contains("George", "Paul");
Map<Integer, String> preferences1 = row1.getTyped("preferences");
assertThat(preferences1.get(1)).isEqualTo("FR");
assertThat(preferences1.get(2)).isEqualTo("Paris");
assertThat(preferences1.get(3)).isEqualTo("75014");
assertThat(row2.get("name")).isEqualTo("John DOO");
assertThat(row2.get("age_in_years")).isEqualTo(35L);
assertThat(row2.<List<String>>getTyped("friends")).containsExactly("qux", "twix");
assertThat(row2.<Set<String>>getTyped("followers")).contains("Isaac", "Lara");
Map<Integer, String> preferences2 = row2.getTyped("preferences");
assertThat(preferences2.get(1)).isEqualTo("US");
assertThat(preferences2.get(2)).isEqualTo("NewYork");
}