@Test
public void testResolveUnion() throws IOException {
final SpecificDatumWriter<TestRecordWithUnion> writer = new SpecificDatumWriter<TestRecordWithUnion>();
Schema schema = TestRecordWithUnion.SCHEMA$;
ByteArrayOutputStream out = new ByteArrayOutputStream();
JsonEncoder encoder = EncoderFactory.get().jsonEncoder(schema, out);
writer.setSchema(schema);
TestRecordWithUnion c = new TestRecordWithUnion();
c.kind = Kind.BAR;
c.value = "rab";
writer.write(c, encoder);
encoder.flush();
out.close();
String expectedJson = String.format(
"{'kind':{'org.apache.avro.test.Kind':'%s'},'value':{'string':'%s'}}",
c.kind.toString(), c.value).replace('\'', '"');