private static void checkProp(Schema s0)
{
if (s0.Type == Schema.UNION) return; // unions have no props
Assert.AreEqual(null, s0["foo"]);
Schema s1 = Schema.Parse(s0.ToString());
s1["foo"] = "bar";
Assert.AreEqual("bar", s1["foo"]);
Assert.IsFalse(s0 == s1);
Schema s2 = Schema.Parse(s1.ToString());
Assert.AreEqual("bar", s2["foo"]);
Assert.IsTrue(s1.Equals(s2));
Assert.IsFalse(s0 == s2);
}