public void DefaultValues() { // Arrange var provider = new EmptyModelMetadataProvider(); var detailsProvider = new DefaultCompositeMetadataDetailsProvider( Enumerable.Empty <IMetadataDetailsProvider>()); var key = ModelMetadataIdentity.ForType(typeof(string)); var cache = new DefaultMetadataDetails(key, new ModelAttributes(new object[0])); // Act var metadata = new DefaultModelMetadata(provider, detailsProvider, cache); // Assert Assert.NotNull(metadata.AdditionalValues); Assert.Empty(metadata.AdditionalValues); Assert.Equal(typeof(string), metadata.ModelType); Assert.True(metadata.ConvertEmptyStringToNull); Assert.False(metadata.HasNonDefaultEditFormat); Assert.False(metadata.HideSurroundingHtml); Assert.True(metadata.HtmlEncode); Assert.True(metadata.IsBindingAllowed); Assert.False(metadata.IsBindingRequired); Assert.False(metadata.IsCollectionType); Assert.False(metadata.IsComplexType); Assert.False(metadata.IsEnumerableType); Assert.False(metadata.IsEnum); Assert.False(metadata.IsFlagsEnum); Assert.False(metadata.IsNullableValueType); Assert.False(metadata.IsReadOnly); Assert.False(metadata.IsRequired); // Defaults to false for reference types Assert.True(metadata.ShowForDisplay); Assert.True(metadata.ShowForEdit); Assert.Null(metadata.DataTypeName); Assert.Null(metadata.Description); Assert.Null(metadata.DisplayFormatString); Assert.Null(metadata.DisplayName); Assert.Null(metadata.EditFormatString); Assert.Null(metadata.ElementMetadata); Assert.Null(metadata.EnumGroupedDisplayNamesAndValues); Assert.Null(metadata.EnumNamesAndValues); Assert.Null(metadata.NullDisplayText); Assert.Null(metadata.TemplateHint); Assert.Null(metadata.SimpleDisplayProperty); Assert.Equal(10000, ModelMetadata.DefaultOrder); Assert.Equal(ModelMetadata.DefaultOrder, metadata.Order); Assert.Null(metadata.BinderModelName); Assert.Null(metadata.BinderType); Assert.Null(metadata.BindingSource); Assert.Null(metadata.PropertyBindingPredicateProvider); }
public void DefaultValues() { // Arrange var provider = new EmptyModelMetadataProvider(); var detailsProvider = new DefaultCompositeMetadataDetailsProvider( Enumerable.Empty<IMetadataDetailsProvider>()); var key = ModelMetadataIdentity.ForType(typeof(string)); var cache = new DefaultMetadataDetails(key, new ModelAttributes(new object[0])); // Act var metadata = new DefaultModelMetadata(provider, detailsProvider, cache); // Assert Assert.NotNull(metadata.AdditionalValues); Assert.Empty(metadata.AdditionalValues); Assert.Equal(typeof(string), metadata.ModelType); Assert.True(metadata.ConvertEmptyStringToNull); Assert.False(metadata.HasNonDefaultEditFormat); Assert.False(metadata.HideSurroundingHtml); Assert.True(metadata.HtmlEncode); Assert.False(metadata.IsBindingRequired); Assert.False(metadata.IsComplexType); Assert.False(metadata.IsCollectionType); Assert.False(metadata.IsEnum); Assert.False(metadata.IsFlagsEnum); Assert.False(metadata.IsNullableValueType); Assert.False(metadata.IsReadOnly); Assert.False(metadata.IsRequired); Assert.True(metadata.ShowForDisplay); Assert.True(metadata.ShowForEdit); Assert.Null(metadata.DataTypeName); Assert.Null(metadata.Description); Assert.Null(metadata.DisplayFormatString); Assert.Null(metadata.DisplayName); Assert.Null(metadata.EditFormatString); Assert.Null(metadata.EnumDisplayNamesAndValues); Assert.Null(metadata.EnumNamesAndValues); Assert.Null(metadata.NullDisplayText); Assert.Null(metadata.TemplateHint); Assert.Null(metadata.SimpleDisplayProperty); Assert.Equal(10000, ModelMetadata.DefaultOrder); Assert.Equal(ModelMetadata.DefaultOrder, metadata.Order); Assert.Null(metadata.BinderModelName); Assert.Null(metadata.BinderType); Assert.Null(metadata.BindingSource); Assert.Null(metadata.PropertyBindingPredicateProvider); }
public void CreateMetadataForType() { // Arrange var provider = new EmptyModelMetadataProvider(); var detailsProvider = new DefaultCompositeMetadataDetailsProvider( Enumerable.Empty <IMetadataDetailsProvider>()); var key = ModelMetadataIdentity.ForType(typeof(Exception)); var cache = new DefaultMetadataDetails(key, new ModelAttributes(new object[0])); // Act var metadata = new DefaultModelMetadata(provider, detailsProvider, cache); // Assert Assert.Equal(typeof(Exception), metadata.ModelType); Assert.Null(metadata.PropertyName); Assert.Null(metadata.ContainerType); }
public void CreateMetadataForType() { // Arrange var provider = new EmptyModelMetadataProvider(); var detailsProvider = new DefaultCompositeMetadataDetailsProvider( Enumerable.Empty<IMetadataDetailsProvider>()); var key = ModelMetadataIdentity.ForType(typeof(Exception)); var cache = new DefaultMetadataDetailsCache(key, new object[0]); // Act var metadata = new DefaultModelMetadata(provider, detailsProvider, cache); // Assert Assert.Equal(typeof(Exception), metadata.ModelType); Assert.Null(metadata.PropertyName); Assert.Null(metadata.ContainerType); }
private IModelMetadataProvider CreateModelMetadataProvider() { var metadataDetailsProvider = new DefaultCompositeMetadataDetailsProvider( new IMetadataDetailsProvider[] { new DefaultBindingMetadataProvider(new ModelBindingMessageProvider { MissingBindRequiredValueAccessor = name => $"A value for the '{ name }' property was not provided.", MissingKeyOrValueAccessor = () => $"A value is required.", ValueMustNotBeNullAccessor = value => $"The value '{ value }' is invalid.", }), new DataAnnotationsMetadataProvider() } ); return new DefaultModelMetadataProvider(metadataDetailsProvider); }
private IModelMetadataProvider CreateModelMetadataProvider() { var metadataDetailsProvider = new DefaultCompositeMetadataDetailsProvider( new IMetadataDetailsProvider[] { new DefaultBindingMetadataProvider(new ModelBindingMessageProvider()), new DataAnnotationsMetadataProvider() } ); return new DefaultModelMetadataProvider(metadataDetailsProvider); }