}
}
public void testOptional() throws IOException {
File file = File.createTempFile("hbase", "avro");
User saved = new User();
{
saved.firstName = $("Sam");
saved.lastName = $("Pullara");
// saved.birthday = $("1212");
// saved.gender = GenderType.MALE;
saved.email = $("spullara@yahoo.com");
// saved.description = $("CTO of RightTime, Inc. and one of the founders of BagCheck");
// saved.title = $("Engineer");
saved.image = $("http://farm1.static.flickr.com/1/buddyicons/32354567@N00.jpg");
// saved.location = $("Los Altos, CA");
saved.password = ByteBuffer.wrap($("").getBytes());
FileOutputStream fos = new FileOutputStream(file);
BinaryEncoder be = new EncoderFactory().binaryEncoder(fos, null);
SpecificDatumWriter<User> sdw = new SpecificDatumWriter<User>(User.class);
sdw.write(saved, be);
be.flush();
fos.close();
}
{
FileInputStream fis = new FileInputStream(file);
DecoderFactory factory = new DecoderFactory();
BinaryDecoder bd = factory.binaryDecoder(fis, null);
SpecificDatumReader<User> sdr = new SpecificDatumReader<User>(User.class);
User loaded = sdr.read(null, bd);
fis.close();
assertEquals(saved, loaded);
assertEquals(null, loaded.location);
assertEquals("Sam", loaded.firstName.toString());
}