{"http://a/1", "http://a/name", "one"},
{"http://a/1", "http://a/age", "32"},
{"http://a/2", "http://a/name", "2"},
{"http://a/2", "http://a/age", "23"}});
RecordIterator it = source.getRecords();
assertTrue("data source contains no records", it.hasNext());
Record r = it.next();
assertEquals("wrong ID", "http://a/1", r.getValue("ID"));
assertEquals("wrong AGE", "32", r.getValue("AGE"));
Collection<String> values = r.getValues("NAME");
assertEquals("wrong number of NAMEs", 2, values.size());
assertTrue("NAMEs doesn't contain '1'", values.contains("1"));
assertTrue("NAMEs doesn't contain 'one'", values.contains("one"));
assertTrue("data source contains only one record", it.hasNext());
r = it.next();
assertEquals("wrong ID", "http://a/2", r.getValue("ID"));
assertEquals("wrong NAME", "2", r.getValue("NAME"));
assertEquals("wrong AGE", "23", r.getValue("AGE"));
assertFalse("data source contains more than two records", it.hasNext());
assertEquals("wrong number of pages", 2, source.getPages());
}