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());
        }
Exemple #2
0
        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]);
            }
        }