private static void AssertFieldMetadata(IMetadataApi metadataApi, Guid objectMetadataId)
        {
            IFieldMetadata fieldMetadata = metadataApi.GetField(objectMetadataId, "Name");
            Assert.AreEqual("Name", fieldMetadata.Name);
            Assert.AreEqual(FieldType.String, fieldMetadata.Type);
            Assert.AreEqual(1, fieldMetadata.Ordinal);
            Assert.IsTrue(fieldMetadata.IsRequired);

            fieldMetadata = metadataApi.GetField(objectMetadataId, "Birthday");
            Assert.AreEqual("Birthday", fieldMetadata.Name);
            Assert.AreEqual(FieldType.DateTime, fieldMetadata.Type);
            Assert.AreEqual(2, fieldMetadata.Ordinal);
            Assert.IsFalse(fieldMetadata.IsRequired);

            fieldMetadata = metadataApi.GetField(objectMetadataId, "Level");
            Assert.AreEqual("Level", fieldMetadata.Name);
            Assert.AreEqual(FieldType.Integer, fieldMetadata.Type);
            Assert.AreEqual(3, fieldMetadata.Ordinal);
            Assert.IsTrue(fieldMetadata.IsRequired);

            fieldMetadata = metadataApi.GetField(objectMetadataId, "Salary");
            Assert.AreEqual("Salary", fieldMetadata.Name);
            Assert.AreEqual(FieldType.Decimal, fieldMetadata.Type);
            Assert.AreEqual(4, fieldMetadata.Ordinal);
            Assert.IsTrue(fieldMetadata.IsRequired);

            fieldMetadata = metadataApi.GetField(objectMetadataId, "Position");
            Assert.AreEqual("Position", fieldMetadata.Name);
            Assert.AreEqual(FieldType.Hierarchy, fieldMetadata.Type);
            Assert.AreEqual(5, fieldMetadata.Ordinal);
            Assert.IsTrue(fieldMetadata.IsRequired);

            HierarchyFieldMetadata hierarchyFieldMetadata = fieldMetadata as HierarchyFieldMetadata;
            Assert.AreEqual(1, hierarchyFieldMetadata.Node.Length);
            Assert.AreEqual("Director", hierarchyFieldMetadata.Node[0].Name);

            fieldMetadata = metadataApi.GetField(objectMetadataId, "HuKou");
            Assert.AreEqual("HuKou", fieldMetadata.Name);
            Assert.AreEqual(FieldType.Enumeration, fieldMetadata.Type);
            Assert.AreEqual(6, fieldMetadata.Ordinal);
            Assert.IsFalse(fieldMetadata.IsRequired);

            IEnumerable<IFieldMetadata> allFieldMetadata = metadataApi.GetFields(objectMetadataId);
            Assert.AreEqual(6, allFieldMetadata.Count());
        }