public void CreateBindingDetails_OverrideBehaviorOnBaseClass_OverrideWithRequired_OnClass() { // Arrange var context = new BindingMetadataProviderContext( ModelMetadataIdentity.ForProperty(typeof(BindRequiredOverridesInheritedBindNever).GetProperty(nameof(BindRequiredOverridesInheritedBindNever.Property)), typeof(int), typeof(BindRequiredOverridesInheritedBindNever)), new ModelAttributes(new object[0], new object[0], null)); var provider = new DefaultBindingMetadataProvider(); // Act provider.CreateBindingMetadata(context); // Assert Assert.True(context.BindingMetadata.IsBindingAllowed); Assert.True(context.BindingMetadata.IsBindingRequired); }
public void CreateBindingDetails_FindsBindNever_OnBaseClass() { // Arrange var context = new BindingMetadataProviderContext( ModelMetadataIdentity.ForProperty(typeof(BindNeverOnClass).GetProperty(nameof(BindNeverOnClass.Property)), typeof(int), typeof(BindNeverOnClass)), new ModelAttributes(new object[0], new object[0], null)); var provider = new DefaultBindingMetadataProvider(); // Act provider.CreateBindingMetadata(context); // Assert Assert.False(context.BindingMetadata.IsBindingAllowed); Assert.False(context.BindingMetadata.IsBindingRequired); }
public void CreateBindingDetails_OverrideBehaviorOnClass_OverrideWithNever() { // Arrange var propertyAttributes = new object[] { new BindNeverAttribute(), }; var context = new BindingMetadataProviderContext( ModelMetadataIdentity.ForProperty(typeof(BindRequiredOnClass).GetProperty(nameof(BindRequiredOnClass.Property)), typeof(int), typeof(BindRequiredOnClass)), new ModelAttributes(new object[0], propertyAttributes, null)); var provider = new DefaultBindingMetadataProvider(); // Act provider.CreateBindingMetadata(context); // Assert Assert.False(context.BindingMetadata.IsBindingAllowed); Assert.False(context.BindingMetadata.IsBindingRequired); }
public void CreateBindingDetails_FindsBindRequired_OnParameter() { // Arrange var parameterAttributes = new object[] { new BindRequiredAttribute(), }; var context = new BindingMetadataProviderContext( ModelMetadataIdentity.ForParameter(ParameterInfos.SampleParameterInfo), new ModelAttributes(Array.Empty <object>(), null, parameterAttributes)); var provider = new DefaultBindingMetadataProvider(); // Act provider.CreateBindingMetadata(context); // Assert Assert.True(context.BindingMetadata.IsBindingAllowed); Assert.True(context.BindingMetadata.IsBindingRequired); }
public void CreateBindingDetails_FindsBindRequired_OnProperty() { // Arrange var propertyAttributes = new object[] { new BindRequiredAttribute(), }; var context = new BindingMetadataProviderContext( ModelMetadataIdentity.ForProperty(typeof(string).GetProperty(nameof(string.Length)), typeof(int), typeof(string)), new ModelAttributes(new object[0], propertyAttributes, null)); var provider = new DefaultBindingMetadataProvider(); // Act provider.CreateBindingMetadata(context); // Assert Assert.True(context.BindingMetadata.IsBindingAllowed); Assert.True(context.BindingMetadata.IsBindingRequired); }
public void CreateBindingDetails_FindsBindingSource() { // Arrange var attributes = new object[] { new BindingSourceModelBinderAttribute(BindingSource.Body), new BindingSourceModelBinderAttribute(BindingSource.Query), }; var context = new BindingMetadataProviderContext( ModelMetadataIdentity.ForType(typeof(string)), new ModelAttributes(attributes, null, null)); var provider = new DefaultBindingMetadataProvider(); // Act provider.CreateBindingMetadata(context); // Assert Assert.Equal(BindingSource.Body, context.BindingMetadata.BindingSource); }