@Test public void testRead_SpecificReader() throws IOException { GenericRecord savedRecord = new GenericData.Record(schema); savedRecord.put("name", "John Doe"); savedRecord.put("age", 42); savedRecord.put("siblingnames", Lists.newArrayList("Jimmy", "Jane")); populateGenericFile(Lists.newArrayList(savedRecord)); AvroFileReaderFactory<Person> genericReader = new AvroFileReaderFactory<Person>(Avros.records(Person.class), new Configuration()); Iterator<Person> recordIterator = genericReader.read( FileSystem.getLocal(new Configuration()), new Path(this.avroFile.getAbsolutePath())); Person expectedPerson = new Person(); expectedPerson.setAge(42); expectedPerson.setName("John Doe"); List<CharSequence> siblingNames = Lists.newArrayList(); siblingNames.add("Jimmy"); siblingNames.add("Jane"); expectedPerson.setSiblingnames(siblingNames); Person person = recordIterator.next(); assertEquals(expectedPerson, person); assertFalse(recordIterator.hasNext()); }
@Test public void testRead_GenericReader() throws IOException { GenericRecord savedRecord = new GenericData.Record(schema); savedRecord.put("name", "John Doe"); savedRecord.put("age", 42); savedRecord.put("siblingnames", Lists.newArrayList("Jimmy", "Jane")); populateGenericFile(Lists.newArrayList(savedRecord)); AvroFileReaderFactory<GenericData.Record> genericReader = new AvroFileReaderFactory<GenericData.Record>(Avros.generics(schema), new Configuration()); Iterator<GenericData.Record> recordIterator = genericReader.read( FileSystem.getLocal(new Configuration()), new Path(this.avroFile.getAbsolutePath())); GenericRecord genericRecord = recordIterator.next(); assertEquals(savedRecord, genericRecord); assertFalse(recordIterator.hasNext()); }