public async Task GivenInvalidStringContent_WhenBindingIntArrayData_ModelIsNotSet(string contextValue) { ModelBindingContext bindingContext = Substitute.For <ModelBindingContext>(); bindingContext.ValueProvider.GetValue(bindingContext.ModelName).Returns(new ValueProviderResult(new StringValues(contextValue))); IModelBinder modelBinder = new IntArrayModelBinder(); await modelBinder.BindModelAsync(bindingContext); Assert.Equal(bindingContext.Result, ModelBindingResult.Failed()); }
public async Task GivenInvalidStringContent_WhenBindingIntArrayData_ModelIsNotSet(string contextValue) { ModelBindingContext bindingContext = Substitute.For <ModelBindingContext>(); bindingContext.ModelName = "foo"; bindingContext.ModelState = new ModelStateDictionary(); bindingContext.ValueProvider.GetValue(bindingContext.ModelName).Returns(new ValueProviderResult(new StringValues(contextValue))); IModelBinder modelBinder = new IntArrayModelBinder(); await modelBinder.BindModelAsync(bindingContext); Assert.Equal(1, bindingContext.ModelState.ErrorCount); }
public async Task GivenStringContent_WhenBindingIntArrayData_ModelIsSetAndExpectedResultIsParsed(string contextValue, int[] expectedResult) { ModelBindingContext bindingContext = Substitute.For <ModelBindingContext>(); bindingContext.ValueProvider.GetValue(bindingContext.ModelName).Returns(new ValueProviderResult(new StringValues(contextValue))); IModelBinder modelBinder = new IntArrayModelBinder(); await modelBinder.BindModelAsync(bindingContext); Assert.True(bindingContext.Result.IsModelSet); var actualResult = bindingContext.Result.Model as int[]; Assert.Equal(expectedResult.Length, actualResult.Length); for (var i = 0; i < expectedResult.Length; i++) { Assert.Equal(expectedResult[i], actualResult[i]); } }