public void GetBinder_ModelMetadataReturnsReadOnly_ReturnsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType( null, typeof(int[]) ), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider { { "foo[0]", "42" }, } }; bindingContext.ModelMetadata.IsReadOnly = true; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext.ModelType); bool bound = binder.BindModel(null, bindingContext); // Assert Assert.False(bound); }
public void GetBinder_ValueProviderDoesNotContainPrefix_ReturnsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(int[])), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider() }; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext); // Assert Assert.Null(binder); }
public void GetBinder_ValueProviderDoesNotContainPrefix_ReturnsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(int[])), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider() }; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext.ModelType); bool bound = binder.BindModel(null, bindingContext); // Assert Assert.False(bound); }
public void GetBinder_ModelTypeIsIncorrect_ReturnsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(ICollection <int>)), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider { { "foo[0]", "42" }, } }; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext.ModelType); // Assert Assert.Null(binder); }
public void GetBinder_CorrectModelTypeAndValueProviderEntries_ReturnsBinder() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(int[])), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider { { "foo[0]", "42" }, } }; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext.ModelType); // Assert Assert.IsType <ArrayModelBinder <int> >(binder); }
public void GetBinder_ModelTypeIsIncorrect_ReturnsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(ICollection<int>)), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider { { "foo[0]", "42" }, } }; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext.ModelType); // Assert Assert.Null(binder); }
public void GetBinder_CorrectModelTypeAndValueProviderEntries_ReturnsBinder() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(int[])), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider { { "foo[0]", "42" }, } }; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext.ModelType); // Assert Assert.IsType<ArrayModelBinder<int>>(binder); }
public void GetBinder_ModelMetadataReturnsReadOnly_ReturnsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(null, typeof(int[])), ModelName = "foo", ValueProvider = new SimpleHttpValueProvider { { "foo[0]", "42" }, } }; bindingContext.ModelMetadata.IsReadOnly = true; ArrayModelBinderProvider binderProvider = new ArrayModelBinderProvider(); // Act IModelBinder binder = binderProvider.GetBinder(null, bindingContext); // Assert Assert.Null(binder); }