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.False(metadata.ValidateChildren); // Defaults to true for complex and enumerable types. 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.PropertyValidationFilter); Assert.Null(metadata.SimpleDisplayProperty); Assert.Null(metadata.Placeholder); Assert.Null(metadata.TemplateHint); 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.PropertyFilterProvider); }
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); }