public void testRecord(string s, string[] kv)
{
Schema sc = Schema.Parse(s);
Assert.AreEqual(Schema.Type.RECORD, sc.type);
RecordSchema rs = sc as RecordSchema;
Assert.AreEqual(kv.Length / 3, rs.Fields.Count);
for (int i = 0; i < kv.Length; i += 3)
{
Field f = rs.Fields[kv[i]];
Assert.AreEqual(kv[i + 1], f.schema.GetName());
if (kv[i + 2] != null)
{
Assert.IsTrue(f.hasDefault);
Assert.AreEqual(kv[i + 2], f.defaultValue);
}
else
{
Assert.IsFalse(f.hasDefault);
}
}
}