@Test
public void testRecord() {
Schema schema = SchemaBuilder
.record("myrecord").namespace("org.example").aliases("oldrecord").fields()
.name("f0").aliases("f0alias").type().stringType().noDefault()
.name("f1").doc("This is f1").type().longType().noDefault()
.name("f2").type().nullable().booleanType().booleanDefault(true)
.endRecord();
Assert.assertEquals("myrecord", schema.getName());
Assert.assertEquals("org.example", schema.getNamespace());
Assert.assertEquals("org.example.oldrecord", schema.getAliases().iterator().next());
Assert.assertFalse(schema.isError());
List<Schema.Field> fields = schema.getFields();
Assert.assertEquals(3, fields.size());
Assert.assertEquals(
new Schema.Field("f0", Schema.create(Schema.Type.STRING), null, null),
fields.get(0));
Assert.assertTrue(fields.get(0).aliases().contains("f0alias"));
Assert.assertEquals(
new Schema.Field("f1", Schema.create(Schema.Type.LONG), "This is f1", null),
fields.get(1));
List<Schema> types = new ArrayList<>();
types.add(Schema.create(Schema.Type.BOOLEAN));
types.add(Schema.create(Schema.Type.NULL));
Schema optional = Schema.createUnion(types);
Assert.assertEquals(new Schema.Field("f2", optional, null, true),
fields.get(2));
}