use of com.apollographql.apollo.api.internal.UnmodifiableMapBuilder in project apollo-android by apollographql.
the class ResponseReaderTest method read_object_list_with_nulls.
@Test
public void read_object_list_with_nulls() throws Exception {
final ResponseField listField = ResponseField.forList("list", "list", null, false, NO_CONDITIONS);
final ResponseField indexField = ResponseField.forList("index", "index", null, false, NO_CONDITIONS);
final List responseObjects = asList(new Object(), new Object(), new Object());
final Map<String, Object> recordSet = new HashMap<>();
recordSet.put("list", asList(null, new UnmodifiableMapBuilder<String, Object>(1).put("index", "0").build(), new UnmodifiableMapBuilder<String, Object>(1).put("index", "1").build(), null, new UnmodifiableMapBuilder<String, Object>(1).put("index", "2").build(), null));
RealResponseReader<Map<String, Object>> responseReader = responseReader(recordSet);
assertThat(responseReader.readList(listField, new ResponseReader.ListReader() {
@Override
public Object read(ResponseReader.ListItemReader reader) {
return reader.readObject(new ResponseReader.ObjectReader<Object>() {
@Override
public Object read(ResponseReader reader) {
return responseObjects.get(Integer.parseInt(reader.readString(indexField)));
}
});
}
})).isEqualTo(responseObjects);
}
Aggregations