コード例 #1
0
        public void CalculateAllowEmptyBody_EmptyBodyBehaviorIsAllow()
        {
            // Act
            var allowEmpty = BodyModelBinderProvider.CalculateAllowEmptyBody(EmptyBodyBehavior.Allow, options: new MvcOptions());

            // Assert
            Assert.True(allowEmpty);
        }
コード例 #2
0
        public void CalculateAllowEmptyBody_EmptyBodyBehaviorIsDefaultValue_DefaultsToFalseWhenOptionsIsUnavailable()
        {
            // Act
            var allowEmpty = BodyModelBinderProvider.CalculateAllowEmptyBody(EmptyBodyBehavior.Default, options: null);

            // Assert
            Assert.False(allowEmpty);
        }
コード例 #3
0
        public void CalculateAllowEmptyBody_EmptyBodyBehaviorIsDefaultValue_UsesMvcOptions()
        {
            // Arrange
            var options = new MvcOptions {
                AllowEmptyInputInBodyModelBinding = true
            };

            // Act
            var allowEmpty = BodyModelBinderProvider.CalculateAllowEmptyBody(EmptyBodyBehavior.Default, options);

            // Assert
            Assert.True(allowEmpty);
        }
コード例 #4
0
        public void CalculateAllowEmptyBody_EmptyBodyBehaviorIsDisallowed()
        {
            // Arrange
            // MvcOptions.AllowEmptyInputInBodyModelBinding should be ignored if EmptyBodyBehavior disallows it
            var options = new MvcOptions {
                AllowEmptyInputInBodyModelBinding = true
            };

            // Act
            var allowEmpty = BodyModelBinderProvider.CalculateAllowEmptyBody(EmptyBodyBehavior.Disallow, options);

            // Assert
            Assert.False(allowEmpty);
        }
コード例 #5
0
        public void GetBinder_DoesNotThrowNullReferenceException()
        {
            // Arrange
            var context = new TestModelBinderProviderContext(typeof(Person));

            context.BindingInfo.BindingSource = BindingSource.Body;
            var formatter     = new TestInputFormatter();
            var formatterList = new List <IInputFormatter> {
                formatter
            };
            var provider = new BodyModelBinderProvider(formatterList, new TestHttpRequestStreamReaderFactory());

            // Act & Assert (does not throw)
            provider.GetBinder(context);
        }
コード例 #6
0
        public void Create_WhenBindingSourceIsFromBody_ReturnsBinder()
        {
            // Arrange
            var provider = new BodyModelBinderProvider(new TestHttpRequestStreamReaderFactory());

            var context = new TestModelBinderProviderContext(typeof(Person));

            context.BindingInfo.BindingSource = BindingSource.Body;

            // Act
            var result = provider.GetBinder(context);

            // Assert
            Assert.IsType <BodyModelBinder>(result);
        }