private void VerifyCollectionNavigationMember(IProviderMember actualMember, string collectionItemTypeName)
        {
            EntityType expectedCollectionItemType = (EntityType)GetStructuralType(collectionItemTypeName);
            string     expectedEdmTypeName        = String.Format("collection[{0}(Nullable=True,DefaultValue=)]", GetFullyQualifiedModelName(collectionItemTypeName));

            VerifyMember(actualMember, false, expectedEdmTypeName, BuiltInTypeKind.CollectionType, null, expectedCollectionItemType);
        }
        private IProviderMember GetProviderMember(IEnumerable <IProviderMember> actualMembers, string expectedName)
        {
            IProviderMember actualMember = actualMembers.SingleOrDefault(m => m.Name == expectedName);

            Assert.IsNotNull(actualMember, "Unable to find a member with the name {0}.", expectedName);
            return(actualMember);
        }
        private void VerifySpecialOrderMembers(IProviderType entityType)
        {
            IEnumerable <IProviderMember> members = GetMembers(entityType, 1);

            IProviderMember member = GetProviderMember(members, "CustomInstructions");

            VerifyPrimitiveMember(member, "String");
        }
        private void VerifyMember(IProviderMember actualMember, bool expectedIsKey, string expectedEdmTypeName, BuiltInTypeKind expectedEdmTypeKind, string expectedMimeType, EntityType expectedCollectionType)
        {
            string memberName = actualMember.Name;

            Assert.AreEqual(expectedEdmTypeKind, actualMember.EdmTypeKind, "IProviderMember.EdmTypeKind is not the expected value for the member {0}.", memberName);
            Assert.AreEqual(expectedIsKey, actualMember.IsKey, "IProviderMember.IsKey is not the expected value for the member {0}.", memberName);
            Assert.AreEqual(expectedEdmTypeName, actualMember.EdmTypeName, "IProviderMember.EdmTypeName is not the expected value for the member {0}.", memberName);
            Assert.AreEqual(expectedMimeType, actualMember.MimeType, "IProviderMember.MimeType is not the expected value for the member {0}.", memberName);
            Assert.AreEqual(expectedCollectionType, actualMember.CollectionItemType, "IProviderMember.ExpectedCollectionType is not the expected value for the member {0}.", memberName);
        }
        public void ReferenceNavigationPropertyObjectContextMemberReturnsCorrectReferenceNav()
        {
            IProviderType entityType = TestGetProviderType("OrderDetail");

            IProviderMember member = GetProviderMember(entityType.Members, "Order");

            VerifyReferenceNavigationMember(member, "Order");

            // rest of members are just primitives and are covered by testing other entity types, so don't need to repeat here
        }
 private void VerifyMember(IProviderMember actualMember, bool expectedIsKey, string expectedEdmTypeName, BuiltInTypeKind expectedEdmTypeKind, string expectedMimeType, EntityType expectedCollectionType)
 {
     string memberName = actualMember.Name;
     Assert.AreEqual(expectedEdmTypeKind, actualMember.EdmTypeKind, "IProviderMember.EdmTypeKind is not the expected value for the member {0}.", memberName);
     Assert.AreEqual(expectedIsKey, actualMember.IsKey, "IProviderMember.IsKey is not the expected value for the member {0}.", memberName);
     Assert.AreEqual(expectedEdmTypeName, actualMember.EdmTypeName, "IProviderMember.EdmTypeName is not the expected value for the member {0}.", memberName);
     Assert.AreEqual(expectedMimeType, actualMember.MimeType, "IProviderMember.MimeType is not the expected value for the member {0}.", memberName);
     Assert.AreEqual(expectedCollectionType, actualMember.CollectionItemType, "IProviderMember.ExpectedCollectionType is not the expected value for the member {0}.", memberName);
 }
 private void VerifyReferenceNavigationMember(IProviderMember actualMember, string referenceTypeName)
 {
     VerifyMember(actualMember, false, referenceTypeName, BuiltInTypeKind.EntityType, null, null);
 }
 private void VerifyCollectionNavigationMember(IProviderMember actualMember, string collectionItemTypeName)
 {
     EntityType expectedCollectionItemType = (EntityType)GetStructuralType(collectionItemTypeName);
     string expectedEdmTypeName = String.Format("collection[{0}(Nullable=True,DefaultValue=)]", GetFullyQualifiedModelName(collectionItemTypeName));
     VerifyMember(actualMember, false, expectedEdmTypeName, BuiltInTypeKind.CollectionType, null, expectedCollectionItemType);
 }       
 private void VerifyComplexMember(IProviderMember actualMember, string expectedEdmTypeName)
 {
     VerifyMember(actualMember, false, expectedEdmTypeName, BuiltInTypeKind.ComplexType, null, null);
 }
 private void VerifyPrimitiveMember(IProviderMember actualMember, string expectedEdmTypeName, string expectedMimeType = null, bool expectedIsKey = false)
 {
     VerifyMember(actualMember, expectedIsKey, expectedEdmTypeName, BuiltInTypeKind.PrimitiveType, expectedMimeType, null);
 }
 private void VerifyReferenceNavigationMember(IProviderMember actualMember, string referenceTypeName)
 {
     VerifyMember(actualMember, false, referenceTypeName, BuiltInTypeKind.EntityType, null, null);
 }
 private void VerifyComplexMember(IProviderMember actualMember, string expectedEdmTypeName)
 {
     VerifyMember(actualMember, false, expectedEdmTypeName, BuiltInTypeKind.ComplexType, null, null);
 }
 private void VerifyPrimitiveMember(IProviderMember actualMember, string expectedEdmTypeName, string expectedMimeType = null, bool expectedIsKey = false)
 {
     VerifyMember(actualMember, expectedIsKey, expectedEdmTypeName, BuiltInTypeKind.PrimitiveType, expectedMimeType, null);
 }
 /// <summary>
 /// Creates a new instance of ResourcePropertyCacheItem.
 /// </summary>
 /// <param name="propertyInfo">PropertyInfo instance for the given ResourceProperty.</param>
 /// <param name="providerMember">IProviderMember which wraps the IEdmMember instance.</param>
 internal ObjectContextResourcePropertyCacheItem(PropertyInfo propertyInfo, IProviderMember providerMember)
     : base(propertyInfo)
 {
     if (providerMember.EdmTypeKind == BuiltInTypeKind.PrimitiveType)
     {
         this.isNullable = PropertyIsNullable(providerMember.Facets);
     }
     else
     {
         this.isNullable = false;
     }
 }
 /// <summary>Sets the MIME type, if specified for the specified member.</summary>
 /// <param name="resourceProperty">resource property whose mime type needs to be updated.</param>
 /// <param name="csdlMember">C-Space member for which we need to find the C-Space mime type attribute.</param>
 private static void SetMimeTypeForMappedMember(ResourceProperty resourceProperty, IProviderMember csdlMember)
 {
     string mimeType = csdlMember.MimeType;
     if (mimeType != null)
     {
         resourceProperty.MimeType = mimeType;
     }
 }