Make ModelBindingContext.Result non-nullable

This change simplifies a bunch of code and fits more in line with the
current design of model binding.

Now, a model binder only has to do anything if it was successful.
'return' is enough to indicate failure.
This commit is contained in:
Ryan Nowak 2016-05-20 14:44:51 -07:00
parent 88c9ae6588
commit d92b3ba2c6
51 changed files with 572 additions and 772 deletions

View File

@ -106,18 +106,15 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
/// <summary> /// <summary>
/// <para> /// <para>
/// On completion returns a <see cref="ModelBindingResult"/> which /// Gets or sets a <see cref="ModelBindingResult"/> which represents the result of the model binding process.
/// represents the result of the model binding process.
/// </para> /// </para>
/// <para> /// <para>
/// If model binding was successful, the <see cref="ModelBindingResult"/> should be a value created /// Before an <see cref="IModelBinder"/> is called, <see cref="Result"/> will be set to a value indicating
/// with <see cref="ModelBindingResult.Success"/>. If model binding failed, the /// failure. The binder should set <see cref="Result"/> to a value created with
/// <see cref="ModelBindingResult"/> should be a value created with <see cref="ModelBindingResult.Failed"/>. /// <see cref="ModelBindingResult.Success"/> if model binding succeeded.
/// If there was no data, or this model binder cannot handle the operation, the
/// <see cref="ModelBindingResult"/> should be null.
/// </para> /// </para>
/// </summary> /// </summary>
public abstract ModelBindingResult? Result { get; set; } public abstract ModelBindingResult Result { get; set; }
/// <summary> /// <summary>
/// Pushes a layer of state onto this context. Model binders will call this as part of recursion when binding properties /// Pushes a layer of state onto this context. Model binders will call this as part of recursion when binding properties

View File

@ -85,9 +85,9 @@ namespace Microsoft.AspNetCore.Mvc.Internal
var parameter = parameters[i]; var parameter = parameters[i];
var result = await BindModelAsync(parameter, controllerContext, valueProvider); var result = await BindModelAsync(parameter, controllerContext, valueProvider);
if (result != null && result.Value.IsModelSet) if (result.IsModelSet)
{ {
arguments[parameter.Name] = result.Value.Model; arguments[parameter.Name] = result.Model;
} }
} }
@ -105,18 +105,18 @@ namespace Microsoft.AspNetCore.Mvc.Internal
var property = properties[i]; var property = properties[i];
var result = await BindModelAsync(property, controllerContext, valueProvider); var result = await BindModelAsync(property, controllerContext, valueProvider);
if (result != null && result.Value.IsModelSet) if (result.IsModelSet)
{ {
var propertyHelper = FindPropertyHelper(propertyHelpers, property); var propertyHelper = FindPropertyHelper(propertyHelpers, property);
if (propertyHelper != null) if (propertyHelper != null)
{ {
ActivateProperty(property, propertyHelper, controller, result.Value.Model); ActivateProperty(property, propertyHelper, controller, result.Model);
} }
} }
} }
} }
public async Task<ModelBindingResult?> BindModelAsync( public async Task<ModelBindingResult> BindModelAsync(
ParameterDescriptor parameter, ParameterDescriptor parameter,
ControllerContext controllerContext) ControllerContext controllerContext)
{ {
@ -135,7 +135,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
return await BindModelAsync(parameter, controllerContext, valueProvider); return await BindModelAsync(parameter, controllerContext, valueProvider);
} }
public async Task<ModelBindingResult?> BindModelAsync( public async Task<ModelBindingResult> BindModelAsync(
ParameterDescriptor parameter, ParameterDescriptor parameter,
ControllerContext controllerContext, ControllerContext controllerContext,
IValueProvider valueProvider) IValueProvider valueProvider)
@ -189,13 +189,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
await binder.BindModelAsync(modelBindingContext); await binder.BindModelAsync(modelBindingContext);
var modelBindingResult = modelBindingContext.Result; var modelBindingResult = modelBindingContext.Result;
if (modelBindingResult != null && modelBindingResult.Value.IsModelSet) if (modelBindingResult.IsModelSet)
{ {
_validator.Validate( _validator.Validate(
controllerContext, controllerContext,
modelBindingContext.ValidationState, modelBindingContext.ValidationState,
modelBindingContext.ModelName, modelBindingContext.ModelName,
modelBindingResult.Value.Model); modelBindingResult.Model);
} }
return modelBindingResult; return modelBindingResult;

View File

@ -177,7 +177,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
} }
/// <inheritdoc /> /// <inheritdoc />
public override ModelBindingResult? Result public override ModelBindingResult Result
{ {
get get
{ {
@ -303,7 +303,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
{ {
_stack.Push(_state); _stack.Push(_state);
Result = null; Result = default(ModelBindingResult);
return new NestedScope(this); return new NestedScope(this);
} }
@ -344,7 +344,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
public BindingSource BindingSource; public BindingSource BindingSource;
public bool IsTopLevelObject; public bool IsTopLevelObject;
public ModelBindingResult? Result; public ModelBindingResult Result;
}; };
} }
} }

View File

@ -12,7 +12,6 @@ namespace Microsoft.AspNetCore.Mvc.Internal
public Task BindModelAsync(ModelBindingContext bindingContext) public Task BindModelAsync(ModelBindingContext bindingContext)
{ {
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
} }

View File

@ -52,11 +52,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = (IModelBinder)_factory(requestServices, arguments: null); var binder = (IModelBinder)_factory(requestServices, arguments: null);
await binder.BindModelAsync(bindingContext); await binder.BindModelAsync(bindingContext);
if (bindingContext.Result == null)
{
bindingContext.Result = ModelBindingResult.Failed();
}
} }
} }
} }

View File

@ -91,11 +91,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var exception = new UnsupportedContentTypeException(message); var exception = new UnsupportedContentTypeException(message);
bindingContext.ModelState.AddModelError(modelBindingKey, exception, bindingContext.ModelMetadata); bindingContext.ModelState.AddModelError(modelBindingKey, exception, bindingContext.ModelMetadata);
// This model binder is the only handler for the Body binding source and it cannot run twice. Always
// tell the model binding system to skip other model binders and never to fall back i.e. indicate a
// fatal error.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
@ -107,9 +102,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
if (result.HasError) if (result.HasError)
{ {
// Formatter encountered an error. Do not use the model it returned. As above, tell the model // Formatter encountered an error. Do not use the model it returned.
// binding system to skip other model binders and never to fall back.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
@ -119,11 +112,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
catch (Exception ex) catch (Exception ex)
{ {
bindingContext.ModelState.AddModelError(modelBindingKey, ex, bindingContext.ModelMetadata); bindingContext.ModelState.AddModelError(modelBindingKey, ex, bindingContext.ModelMetadata);
// This model binder is the only handler for the Body binding source and it cannot run twice. Always
// tell the model binding system to skip other model binders and never to fall back i.e. indicate a
// fatal error.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
} }

View File

@ -24,7 +24,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var valueProviderResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); var valueProviderResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
if (valueProviderResult == ValueProviderResult.None) if (valueProviderResult == ValueProviderResult.None)
{ {
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
@ -34,7 +33,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var value = valueProviderResult.FirstValue; var value = valueProviderResult.FirstValue;
if (string.IsNullOrEmpty(value)) if (string.IsNullOrEmpty(value))
{ {
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
@ -50,12 +48,8 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
bindingContext.ModelName, bindingContext.ModelName,
exception, exception,
bindingContext.ModelMetadata); bindingContext.ModelMetadata);
return TaskCache.CompletedTask;
} }
// Matched the type (byte[]) only this binder supports. As in missing data cases, always tell the model
// binding system to skip other model binders i.e. return non-null.
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask;
} }
} }
} }

View File

@ -192,9 +192,9 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
{ {
await ElementBinder.BindModelAsync(bindingContext); await ElementBinder.BindModelAsync(bindingContext);
if (bindingContext.Result != null && bindingContext.Result.Value.IsModelSet) if (bindingContext.Result.IsModelSet)
{ {
boundValue = bindingContext.Result.Value.Model; boundValue = bindingContext.Result.Model;
boundCollection.Add(ModelBindingHelper.CastOrDefault<TElement>(boundValue)); boundCollection.Add(ModelBindingHelper.CastOrDefault<TElement>(boundValue));
} }
} }

View File

@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
model: propertyModel)) model: propertyModel))
{ {
await BindProperty(bindingContext); await BindProperty(bindingContext);
result = bindingContext.Result ?? ModelBindingResult.Failed(); result = bindingContext.Result;
} }
if (result.IsModelSet) if (result.IsModelSet)

View File

@ -49,13 +49,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
} }
await base.BindModelAsync(bindingContext); await base.BindModelAsync(bindingContext);
if (bindingContext.Result == null || !bindingContext.Result.Value.IsModelSet) if (!bindingContext.Result.IsModelSet)
{ {
// No match for the prefix at all. // No match for the prefix at all.
return; return;
} }
var result = bindingContext.Result.Value; var result = bindingContext.Result;
Debug.Assert(result.Model != null); Debug.Assert(result.Model != null);
var model = (IDictionary<TKey, TValue>)result.Model; var model = (IDictionary<TKey, TValue>)result.Model;
@ -103,7 +103,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var valueResult = bindingContext.Result; var valueResult = bindingContext.Result;
// Always add an entry to the dictionary but validate only if binding was successful. // Always add an entry to the dictionary but validate only if binding was successful.
model[convertedKey] = ModelBindingHelper.CastOrDefault<TValue>(valueResult.Value.Model); model[convertedKey] = ModelBindingHelper.CastOrDefault<TValue>(valueResult.Model);
keyMappings.Add(kvp.Key, convertedKey); keyMappings.Add(kvp.Key, convertedKey);
} }
} }

View File

@ -34,9 +34,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
!bindingContext.ModelMetadata.IsReadOnly; !bindingContext.ModelMetadata.IsReadOnly;
if (!createFileCollection && !ModelBindingHelper.CanGetCompatibleCollection<IFormFile>(bindingContext)) if (!createFileCollection && !ModelBindingHelper.CanGetCompatibleCollection<IFormFile>(bindingContext))
{ {
// Silently fail and stop other model binders running if unable to create an instance or use the // Silently fail if unable to create an instance or use the current instance.
// current instance.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
@ -65,7 +63,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
if (postedFiles.Count == 0) if (postedFiles.Count == 0)
{ {
// Silently fail if the named file does not exist in the request. // Silently fail if the named file does not exist in the request.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
@ -77,7 +74,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
{ {
// Silently fail if no files match. Will bind to an empty collection (treat empty as a success // Silently fail if no files match. Will bind to an empty collection (treat empty as a success
// case and not reach here) if binding to a top-level object. // case and not reach here) if binding to a top-level object.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }

View File

@ -68,10 +68,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
bindingContext.ModelState.TryAddModelError( bindingContext.ModelState.TryAddModelError(
keyModelName, keyModelName,
bindingContext.ModelMetadata.ModelBindingMessageProvider.MissingKeyOrValueAccessor()); bindingContext.ModelMetadata.ModelBindingMessageProvider.MissingKeyOrValueAccessor());
// Were able to get some data for this model.
// Always tell the model binding system to skip other model binders.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
@ -80,10 +76,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
bindingContext.ModelState.TryAddModelError( bindingContext.ModelState.TryAddModelError(
valueModelName, valueModelName,
bindingContext.ModelMetadata.ModelBindingMessageProvider.MissingKeyOrValueAccessor()); bindingContext.ModelMetadata.ModelBindingMessageProvider.MissingKeyOrValueAccessor());
// Were able to get some data for this model.
// Always tell the model binding system to skip other model binders.
bindingContext.Result = ModelBindingResult.Failed();
return; return;
} }
@ -112,15 +104,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
{ {
await binder.BindModelAsync(bindingContext); await binder.BindModelAsync(bindingContext);
var result = bindingContext.Result; return bindingContext.Result;
if (result != null && result.Value.IsModelSet)
{
return result.Value;
}
else
{
return ModelBindingResult.Failed();
}
} }
} }
} }

View File

@ -38,7 +38,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
if (valueProviderResult == ValueProviderResult.None) if (valueProviderResult == ValueProviderResult.None)
{ {
// no entry // no entry
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
@ -76,8 +75,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
bindingContext.ModelName, bindingContext.ModelName,
bindingContext.ModelMetadata.ModelBindingMessageProvider.ValueMustNotBeNullAccessor( bindingContext.ModelMetadata.ModelBindingMessageProvider.ValueMustNotBeNullAccessor(
valueProviderResult.ToString())); valueProviderResult.ToString()));
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
else else
@ -102,8 +100,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
bindingContext.ModelMetadata); bindingContext.ModelMetadata);
// Were able to find a converter for the type but conversion failed. // Were able to find a converter for the type but conversion failed.
// Tell the model binding system to skip other model binders.
bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
} }

View File

@ -450,13 +450,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Internal
await binder.BindModelAsync(modelBindingContext); await binder.BindModelAsync(modelBindingContext);
var modelBindingResult = modelBindingContext.Result; var modelBindingResult = modelBindingContext.Result;
if (modelBindingResult != null && modelBindingResult.Value.IsModelSet) if (modelBindingResult.IsModelSet)
{ {
objectModelValidator.Validate( objectModelValidator.Validate(
actionContext, actionContext,
modelBindingContext.ValidationState, modelBindingContext.ValidationState,
modelBindingContext.ModelName, modelBindingContext.ModelName,
modelBindingResult.Value.Model); modelBindingResult.Model);
return modelState.IsValid; return modelState.IsValid;
} }

View File

@ -1,18 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Mvc.ModelBinding
{
public static class ModelBinderExtensions
{
public static async Task<ModelBindingResult> BindModelResultAsync(
this IModelBinder binder,
ModelBindingContext context)
{
await binder.BindModelAsync(context);
return context.Result ?? default(ModelBindingResult);
}
}
}

View File

@ -29,12 +29,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new ArrayModelBinder<int>(new SimpleTypeModelBinder(typeof(int))); var binder = new ArrayModelBinder<int>(new SimpleTypeModelBinder(typeof(int)));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var array = Assert.IsType<int[]>(result.Model); var array = Assert.IsType<int[]>(bindingContext.Result.Model);
Assert.Equal(new[] { 42, 84 }, array); Assert.Equal(new[] { 42, 84 }, array);
} }
@ -44,23 +44,23 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
// Arrange // Arrange
var binder = new ArrayModelBinder<string>(new SimpleTypeModelBinder(typeof(string))); var binder = new ArrayModelBinder<string>(new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.IsTopLevelObject = true; bindingContext.IsTopLevelObject = true;
// Lack of prefix and non-empty model name both ignored. // Lack of prefix and non-empty model name both ignored.
context.ModelName = "modelName"; bindingContext.ModelName = "modelName";
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForType(typeof(string[])); bindingContext.ModelMetadata = metadataProvider.GetMetadataForType(typeof(string[]));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Empty(Assert.IsType<string[]>(result.Model)); Assert.Empty(Assert.IsType<string[]>(bindingContext.Result.Model));
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
} }
[Theory] [Theory]
@ -71,21 +71,21 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
// Arrange // Arrange
var binder = new ArrayModelBinder<string>(new SimpleTypeModelBinder(typeof(string))); var binder = new ArrayModelBinder<string>(new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = ModelNames.CreatePropertyModelName(prefix, "ArrayProperty"); bindingContext.ModelName = ModelNames.CreatePropertyModelName(prefix, "ArrayProperty");
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithArrayProperty), typeof(ModelWithArrayProperty),
nameof(ModelWithArrayProperty.ArrayProperty)); nameof(ModelWithArrayProperty.ArrayProperty));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Equal(default(ModelBindingResult), result); Assert.False(bindingContext.Result.IsModelSet);
} }
public static TheoryData<int[]> ArrayModelData public static TheoryData<int[]> ArrayModelData
@ -128,11 +128,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new ArrayModelBinder<int>(new SimpleTypeModelBinder(typeof(int))); var binder = new ArrayModelBinder<int>(new SimpleTypeModelBinder(typeof(int)));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Same(model, result.Model); Assert.Same(model, bindingContext.Result.Model);
for (var i = 0; i < arrayLength; i++) for (var i = 0; i < arrayLength; i++)
{ {
@ -151,7 +151,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var model = value.ConvertTo(mbc.ModelType); var model = value.ConvertTo(mbc.ModelType);
return ModelBindingResult.Success(model); return ModelBindingResult.Success(model);
} }
return null; return ModelBindingResult.Failed();
}); });
} }

View File

@ -23,10 +23,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new BinderTypeModelBinder(typeof(NullModelBinder)); var binder = new BinderTypeModelBinder(typeof(NullModelBinder));
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(binderResult.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
} }
[Fact] [Fact]
@ -45,12 +45,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new BinderTypeModelBinder(typeof(NotNullModelBinder)); var binder = new BinderTypeModelBinder(typeof(NotNullModelBinder));
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
var p = (Person)binderResult.Model; var person = (Person)bindingContext.Result.Model;
Assert.Equal(model.Age, p.Age); Assert.Equal(model.Age, person.Age);
Assert.Equal(model.Name, p.Name); Assert.Equal(model.Name, person.Name);
} }
[Fact] [Fact]

View File

@ -40,13 +40,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(new[] { inputFormatter }); var binder = CreateBinder(new[] { inputFormatter });
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
mockInputFormatter.Verify(v => v.CanRead(It.IsAny<InputFormatterContext>()), Times.Once); mockInputFormatter.Verify(v => v.CanRead(It.IsAny<InputFormatterContext>()), Times.Once);
mockInputFormatter.Verify(v => v.ReadAsync(It.IsAny<InputFormatterContext>()), Times.Once); mockInputFormatter.Verify(v => v.ReadAsync(It.IsAny<InputFormatterContext>()), Times.Once);
Assert.NotNull(binderResult); Assert.True(bindingContext.Result.IsModelSet);
Assert.True(binderResult.IsModelSet);
} }
[Fact] [Fact]
@ -61,14 +60,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(new List<IInputFormatter>()); var binder = CreateBinder(new List<IInputFormatter>());
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(bindingContext.Result.IsModelSet);
// Returns non-null because it understands the metadata type. Assert.Null(bindingContext.Result.Model);
Assert.NotNull(binderResult);
Assert.False(binderResult.IsModelSet);
Assert.Null(binderResult.Model);
// Key is the empty string because this was a top-level binding. // Key is the empty string because this was a top-level binding.
var entry = Assert.Single(bindingContext.ModelState); var entry = Assert.Single(bindingContext.ModelState);
@ -89,14 +85,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(new List<IInputFormatter>()); var binder = CreateBinder(new List<IInputFormatter>());
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(bindingContext.Result.IsModelSet);
// Returns non-null because it understands the metadata type. Assert.Null(bindingContext.Result.Model);
Assert.NotNull(binderResult);
Assert.False(binderResult.IsModelSet);
Assert.Null(binderResult.Model);
// Key is the bindermodelname because this was a top-level binding. // Key is the bindermodelname because this was a top-level binding.
var entry = Assert.Single(bindingContext.ModelState); var entry = Assert.Single(bindingContext.ModelState);
@ -116,11 +109,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(new List<IInputFormatter>()); var binder = CreateBinder(new List<IInputFormatter>());
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.NotNull(binderResult); Assert.False(bindingContext.Result.IsModelSet);
Assert.False(binderResult.IsModelSet);
} }
[Fact] [Fact]
@ -142,14 +134,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(new[] { new XyzFormatter() }); var binder = CreateBinder(new[] { new XyzFormatter() });
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(bindingContext.Result.IsModelSet);
// Returns non-null because it understands the metadata type. Assert.Null(bindingContext.Result.Model);
Assert.NotNull(binderResult);
Assert.False(binderResult.IsModelSet);
Assert.Null(binderResult.Model);
// Key is the empty string because this was a top-level binding. // Key is the empty string because this was a top-level binding.
var entry = Assert.Single(bindingContext.ModelState); var entry = Assert.Single(bindingContext.ModelState);
@ -176,14 +165,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(new List<IInputFormatter>()); var binder = CreateBinder(new List<IInputFormatter>());
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(bindingContext.Result.IsModelSet);
// Returns non-null result because it understands the metadata type. Assert.Null(bindingContext.Result.Model);
Assert.NotNull(binderResult);
Assert.False(binderResult.IsModelSet);
Assert.Null(binderResult.Model);
// Key is the empty string because this was a top-level binding. // Key is the empty string because this was a top-level binding.
var entry = Assert.Single(bindingContext.ModelState); var entry = Assert.Single(bindingContext.ModelState);
@ -213,11 +199,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = CreateBinder(inputFormatters); var binder = CreateBinder(inputFormatters);
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(binderResult.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Same(canReadFormatter1, binderResult.Model); Assert.Same(canReadFormatter1, bindingContext.Result.Model);
} }
private static DefaultModelBindingContext GetBindingContext( private static DefaultModelBindingContext GetBindingContext(

View File

@ -24,12 +24,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new ByteArrayModelBinder(); var binder = new ByteArrayModelBinder();
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.NotNull(binderResult); Assert.False(bindingContext.Result.IsModelSet);
Assert.False(binderResult.IsModelSet); Assert.Null(bindingContext.Result.Model);
Assert.Null(binderResult.Model);
var modelState = Assert.Single(bindingContext.ModelState); var modelState = Assert.Single(bindingContext.ModelState);
Assert.Equal("foo", modelState.Key); Assert.Equal("foo", modelState.Key);
@ -49,11 +48,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new ByteArrayModelBinder(); var binder = new ByteArrayModelBinder();
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.NotNull(binderResult); Assert.True(bindingContext.Result.IsModelSet);
var bytes = Assert.IsType<byte[]>(binderResult.Model); var bytes = Assert.IsType<byte[]>(bindingContext.Result.Model);
Assert.Equal(new byte[] { 23, 43, 53 }, bytes); Assert.Equal(new byte[] { 23, 43, 53 }, bytes);
} }
@ -72,10 +71,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new ByteArrayModelBinder(); var binder = new ByteArrayModelBinder();
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.NotNull(binderResult); Assert.False(bindingContext.Result.IsModelSet);
Assert.False(bindingContext.ModelState.IsValid); Assert.False(bindingContext.ModelState.IsValid);
var error = Assert.Single(bindingContext.ModelState["foo"].Errors); var error = Assert.Single(bindingContext.ModelState["foo"].Errors);
Assert.Equal(expected, error.ErrorMessage); Assert.Equal(expected, error.ErrorMessage);
@ -94,12 +93,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new ByteArrayModelBinder(); var binder = new ByteArrayModelBinder();
// Act // Act
var binderResult = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.NotNull(binderResult); Assert.False(bindingContext.Result.IsModelSet);
Assert.False(binderResult.IsModelSet); Assert.Null(bindingContext.Result.Model);
Assert.Null(binderResult.Model);
Assert.Empty(bindingContext.ModelState); // No submitted data for "foo". Assert.Empty(bindingContext.ModelState); // No submitted data for "foo".
} }

View File

@ -20,11 +20,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new CancellationTokenModelBinder(); var binder = new CancellationTokenModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(bindingContext.HttpContext.RequestAborted, result.Model); Assert.Equal(bindingContext.HttpContext.RequestAborted, bindingContext.Result.Model);
} }
private static DefaultModelBindingContext GetBindingContext(Type modelType) private static DefaultModelBindingContext GetBindingContext(Type modelType)

View File

@ -81,12 +81,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new CollectionModelBinder<int>(CreateIntBinder()); var binder = new CollectionModelBinder<int>(CreateIntBinder());
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var list = Assert.IsAssignableFrom<IList<int>>(result.Model); var list = Assert.IsAssignableFrom<IList<int>>(bindingContext.Result.Model);
Assert.Equal(new[] { 42, 100, 200 }, list.ToArray()); Assert.Equal(new[] { 42, 100, 200 }, list.ToArray());
Assert.True(modelState.IsValid); Assert.True(modelState.IsValid);
@ -112,12 +112,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new CollectionModelBinder<int>(CreateIntBinder()); var binder = new CollectionModelBinder<int>(CreateIntBinder());
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Same(list, result.Model); Assert.Same(list, bindingContext.Result.Model);
Assert.Equal(new[] { 42, 100, 200 }, list.ToArray()); Assert.Equal(new[] { 42, 100, 200 }, list.ToArray());
Assert.True(modelState.IsValid); Assert.True(modelState.IsValid);
@ -138,12 +138,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new CollectionModelBinder<int>(CreateIntBinder()); var binder = new CollectionModelBinder<int>(CreateIntBinder());
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var list = Assert.IsAssignableFrom<IList<int>>(result.Model); var list = Assert.IsAssignableFrom<IList<int>>(bindingContext.Result.Model);
Assert.Equal(new[] { 42, 100, 200 }, list.ToArray()); Assert.Equal(new[] { 42, 100, 200 }, list.ToArray());
} }
@ -164,12 +164,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new CollectionModelBinder<int>(CreateIntBinder()); var binder = new CollectionModelBinder<int>(CreateIntBinder());
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Same(list, result.Model); Assert.Same(list, bindingContext.Result.Model);
Assert.Equal(new[] { 42, 100, 200 }, list.ToArray()); Assert.Equal(new[] { 42, 100, 200 }, list.ToArray());
} }
@ -185,13 +185,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var bindingContext = GetModelBindingContext(valueProvider, isReadOnly: false); var bindingContext = GetModelBindingContext(valueProvider, isReadOnly: false);
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.NotNull(result.Model);
var model = Assert.IsType<List<int>>(result.Model); var model = Assert.IsType<List<int>>(bindingContext.Result.Model);
Assert.Empty(model); Assert.Empty(model);
} }
@ -214,25 +213,25 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
public async Task CollectionModelBinder_CreatesEmptyCollection_IfIsTopLevelObject() public async Task CollectionModelBinder_CreatesEmptyCollection_IfIsTopLevelObject()
{ {
// Arrange // Arrange
var binder = new CollectionModelBinder<string>(new StubModelBinder(result: null)); var binder = new CollectionModelBinder<string>(new StubModelBinder(result: ModelBindingResult.Failed()));
var context = CreateContext(); var bindingContext = CreateContext();
context.IsTopLevelObject = true; bindingContext.IsTopLevelObject = true;
// Lack of prefix and non-empty model name both ignored. // Lack of prefix and non-empty model name both ignored.
context.ModelName = "modelName"; bindingContext.ModelName = "modelName";
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForType(typeof(List<string>)); bindingContext.ModelMetadata = metadataProvider.GetMetadataForType(typeof(List<string>));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Empty(Assert.IsType<List<string>>(result.Model)); Assert.Empty(Assert.IsType<List<string>>(bindingContext.Result.Model));
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
} }
// Setup like CollectionModelBinder_CreatesEmptyCollection_IfIsTopLevelObject except // Setup like CollectionModelBinder_CreatesEmptyCollection_IfIsTopLevelObject except
@ -241,29 +240,29 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
public async Task CollectionModelBinder_DoesNotCreateEmptyCollection_IfModelNonNull() public async Task CollectionModelBinder_DoesNotCreateEmptyCollection_IfModelNonNull()
{ {
// Arrange // Arrange
var binder = new CollectionModelBinder<string>(new StubModelBinder(result: null)); var binder = new CollectionModelBinder<string>(new StubModelBinder(result: ModelBindingResult.Failed()));
var context = CreateContext(); var bindingContext = CreateContext();
context.IsTopLevelObject = true; bindingContext.IsTopLevelObject = true;
var list = new List<string>(); var list = new List<string>();
context.Model = list; bindingContext.Model = list;
// Lack of prefix and non-empty model name both ignored. // Lack of prefix and non-empty model name both ignored.
context.ModelName = "modelName"; bindingContext.ModelName = "modelName";
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForType(typeof(List<string>)); bindingContext.ModelMetadata = metadataProvider.GetMetadataForType(typeof(List<string>));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Same(list, result.Model); Assert.Same(list, bindingContext.Result.Model);
Assert.Empty(list); Assert.Empty(list);
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
} }
[Theory] [Theory]
@ -272,23 +271,23 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
public async Task CollectionModelBinder_DoesNotCreateCollection_IfNotIsTopLevelObject(string prefix) public async Task CollectionModelBinder_DoesNotCreateCollection_IfNotIsTopLevelObject(string prefix)
{ {
// Arrange // Arrange
var binder = new CollectionModelBinder<string>(new StubModelBinder(result: null)); var binder = new CollectionModelBinder<string>(new StubModelBinder(result: ModelBindingResult.Failed()));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = ModelNames.CreatePropertyModelName(prefix, "ListProperty"); bindingContext.ModelName = ModelNames.CreatePropertyModelName(prefix, "ListProperty");
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithListProperty), typeof(ModelWithListProperty),
nameof(ModelWithListProperty.ListProperty)); nameof(ModelWithListProperty.ListProperty));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Equal(default(ModelBindingResult), result); Assert.False(bindingContext.Result.IsModelSet);
} }
// Model type -> can create instance. // Model type -> can create instance.
@ -378,7 +377,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var value = mbc.ValueProvider.GetValue(mbc.ModelName); var value = mbc.ValueProvider.GetValue(mbc.ModelName);
if (value == ValueProviderResult.None) if (value == ValueProviderResult.None)
{ {
return null; return ModelBindingResult.Failed();
} }
var model = value.ConvertTo(mbc.ModelType); var model = value.ConvertTo(mbc.ModelType);

View File

@ -283,12 +283,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
.Returns(false); .Returns(false);
// Act // Act
var result = await testableBinder.Object.BindModelResultAsync(bindingContext); await testableBinder.Object.BindModelAsync(bindingContext);
// Assert // Assert
Assert.NotNull(result); Assert.True(bindingContext.Result.IsModelSet);
Assert.True(result.IsModelSet); var returnedPerson = Assert.IsType<Person>(bindingContext.Result.Model);
var returnedPerson = Assert.IsType<Person>(result.Model);
Assert.Same(model, returnedPerson); Assert.Same(model, returnedPerson);
testableBinder.Verify(); testableBinder.Verify();
} }

View File

@ -40,19 +40,19 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var dictionary = Assert.IsAssignableFrom<IDictionary<int, string>>(result.Model); var dictionary = Assert.IsAssignableFrom<IDictionary<int, string>>(bindingContext.Result.Model);
Assert.NotNull(dictionary); Assert.NotNull(dictionary);
Assert.Equal(2, dictionary.Count); Assert.Equal(2, dictionary.Count);
Assert.Equal("forty-two", dictionary[42]); Assert.Equal("forty-two", dictionary[42]);
Assert.Equal("eighty-four", dictionary[84]); Assert.Equal("eighty-four", dictionary[84]);
// This uses the default IValidationStrategy // This uses the default IValidationStrategy
Assert.DoesNotContain(result.Model, bindingContext.ValidationState.Keys); Assert.DoesNotContain(bindingContext.Result.Model, bindingContext.ValidationState.Keys);
} }
[Theory] [Theory]
@ -80,19 +80,19 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Same(dictionary, result.Model); Assert.Same(dictionary, bindingContext.Result.Model);
Assert.NotNull(dictionary); Assert.NotNull(dictionary);
Assert.Equal(2, dictionary.Count); Assert.Equal(2, dictionary.Count);
Assert.Equal("forty-two", dictionary[42]); Assert.Equal("forty-two", dictionary[42]);
Assert.Equal("eighty-four", dictionary[84]); Assert.Equal("eighty-four", dictionary[84]);
// This uses the default IValidationStrategy // This uses the default IValidationStrategy
Assert.DoesNotContain(result.Model, bindingContext.ValidationState.Keys); Assert.DoesNotContain(bindingContext.Result.Model, bindingContext.ValidationState.Keys);
} }
// modelName, keyFormat, dictionary // modelName, keyFormat, dictionary
@ -135,23 +135,23 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string)), new SimpleTypeModelBinder(typeof(string)),
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = modelName; bindingContext.ModelName = modelName;
context.ValueProvider = CreateEnumerableValueProvider(keyFormat, dictionary); bindingContext.ValueProvider = CreateEnumerableValueProvider(keyFormat, dictionary);
context.FieldName = modelName; bindingContext.FieldName = modelName;
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithDictionaryProperties), typeof(ModelWithDictionaryProperties),
nameof(ModelWithDictionaryProperties.DictionaryProperty)); nameof(ModelWithDictionaryProperties.DictionaryProperty));
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var resultDictionary = Assert.IsAssignableFrom<IDictionary<string, string>>(result.Model); var resultDictionary = Assert.IsAssignableFrom<IDictionary<string, string>>(bindingContext.Result.Model);
Assert.Equal(dictionary, resultDictionary); Assert.Equal(dictionary, resultDictionary);
} }
@ -171,23 +171,23 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string)), new SimpleTypeModelBinder(typeof(string)),
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = "prefix"; bindingContext.ModelName = "prefix";
context.ValueProvider = CreateTestValueProvider("prefix[{0}]", dictionary); bindingContext.ValueProvider = CreateTestValueProvider("prefix[{0}]", dictionary);
context.FieldName = context.ModelName; bindingContext.FieldName = bindingContext.ModelName;
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithDictionaryProperties), typeof(ModelWithDictionaryProperties),
nameof(ModelWithDictionaryProperties.DictionaryProperty)); nameof(ModelWithDictionaryProperties.DictionaryProperty));
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var resultDictionary = Assert.IsAssignableFrom<IDictionary<string, string>>(result.Model); var resultDictionary = Assert.IsAssignableFrom<IDictionary<string, string>>(bindingContext.Result.Model);
Assert.Empty(resultDictionary); Assert.Empty(resultDictionary);
} }
@ -221,23 +221,23 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(long)), new SimpleTypeModelBinder(typeof(long)),
new SimpleTypeModelBinder(typeof(int))); new SimpleTypeModelBinder(typeof(int)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = "prefix"; bindingContext.ModelName = "prefix";
context.ValueProvider = CreateEnumerableValueProvider("prefix[{0}]", stringDictionary); bindingContext.ValueProvider = CreateEnumerableValueProvider("prefix[{0}]", stringDictionary);
context.FieldName = context.ModelName; bindingContext.FieldName = bindingContext.ModelName;
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithDictionaryProperties), typeof(ModelWithDictionaryProperties),
nameof(ModelWithDictionaryProperties.DictionaryWithValueTypesProperty)); nameof(ModelWithDictionaryProperties.DictionaryWithValueTypesProperty));
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var resultDictionary = Assert.IsAssignableFrom<IDictionary<long, int>>(result.Model); var resultDictionary = Assert.IsAssignableFrom<IDictionary<long, int>>(bindingContext.Result.Model);
Assert.Equal(dictionary, resultDictionary); Assert.Equal(dictionary, resultDictionary);
} }
@ -258,13 +258,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
{ "prefix[27].Name", "Fred" }, { "prefix[27].Name", "Fred" },
}; };
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = "prefix"; bindingContext.ModelName = "prefix";
context.ValueProvider = CreateEnumerableValueProvider("{0}", stringDictionary); bindingContext.ValueProvider = CreateEnumerableValueProvider("{0}", stringDictionary);
context.FieldName = context.ModelName; bindingContext.FieldName = bindingContext.ModelName;
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithDictionaryProperties), typeof(ModelWithDictionaryProperties),
nameof(ModelWithDictionaryProperties.DictionaryWithComplexValuesProperty)); nameof(ModelWithDictionaryProperties.DictionaryWithComplexValuesProperty));
@ -279,17 +279,17 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
})); }));
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var resultDictionary = Assert.IsAssignableFrom<IDictionary<int, ModelWithProperties>>(result.Model); var resultDictionary = Assert.IsAssignableFrom<IDictionary<int, ModelWithProperties>>(bindingContext.Result.Model);
Assert.Equal(dictionary, resultDictionary); Assert.Equal(dictionary, resultDictionary);
// This requires a non-default IValidationStrategy // This requires a non-default IValidationStrategy
Assert.Contains(result.Model, context.ValidationState.Keys); Assert.Contains(bindingContext.Result.Model, bindingContext.ValidationState.Keys);
var entry = context.ValidationState[result.Model]; var entry = bindingContext.ValidationState[bindingContext.Result.Model];
var strategy = Assert.IsType<ShortFormDictionaryValidationStrategy<int, ModelWithProperties>>(entry.Strategy); var strategy = Assert.IsType<ShortFormDictionaryValidationStrategy<int, ModelWithProperties>>(entry.Strategy);
Assert.Equal( Assert.Equal(
new KeyValuePair<string, int>[] new KeyValuePair<string, int>[]
@ -313,24 +313,24 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string)), new SimpleTypeModelBinder(typeof(string)),
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = modelName; bindingContext.ModelName = modelName;
context.ValueProvider = CreateEnumerableValueProvider(keyFormat, dictionary); bindingContext.ValueProvider = CreateEnumerableValueProvider(keyFormat, dictionary);
context.FieldName = context.ModelName; bindingContext.FieldName = bindingContext.ModelName;
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithDictionaryProperties), typeof(ModelWithDictionaryProperties),
nameof(ModelWithDictionaryProperties.CustomDictionaryProperty)); nameof(ModelWithDictionaryProperties.CustomDictionaryProperty));
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var resultDictionary = Assert.IsAssignableFrom<SortedDictionary<string, string>>(result.Model); var resultDictionary = Assert.IsAssignableFrom<SortedDictionary<string, string>>(bindingContext.Result.Model);
Assert.Equal(expectedDictionary, resultDictionary); Assert.Equal(expectedDictionary, resultDictionary);
} }
@ -342,23 +342,23 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string)), new SimpleTypeModelBinder(typeof(string)),
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.IsTopLevelObject = true; bindingContext.IsTopLevelObject = true;
// Lack of prefix and non-empty model name both ignored. // Lack of prefix and non-empty model name both ignored.
context.ModelName = "modelName"; bindingContext.ModelName = "modelName";
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForType(typeof(Dictionary<string, string>)); bindingContext.ModelMetadata = metadataProvider.GetMetadataForType(typeof(Dictionary<string, string>));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Empty(Assert.IsType<Dictionary<string, string>>(result.Model)); Assert.Empty(Assert.IsType<Dictionary<string, string>>(bindingContext.Result.Model));
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
} }
[Theory] [Theory]
@ -371,21 +371,21 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(int)), new SimpleTypeModelBinder(typeof(int)),
new SimpleTypeModelBinder(typeof(int))); new SimpleTypeModelBinder(typeof(int)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = ModelNames.CreatePropertyModelName(prefix, "ListProperty"); bindingContext.ModelName = ModelNames.CreatePropertyModelName(prefix, "ListProperty");
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithDictionaryProperties), typeof(ModelWithDictionaryProperties),
nameof(ModelWithDictionaryProperties.DictionaryProperty)); nameof(ModelWithDictionaryProperties.DictionaryProperty));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Equal(default(ModelBindingResult), result); Assert.False(bindingContext.Result.IsModelSet);
} }
// Model type -> can create instance. // Model type -> can create instance.

View File

@ -29,13 +29,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormCollectionModelBinder(); var binder = new FormCollectionModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Empty(bindingContext.ValidationState); Assert.Empty(bindingContext.ValidationState);
var form = Assert.IsAssignableFrom<IFormCollection>(result.Model); var form = Assert.IsAssignableFrom<IFormCollection>(bindingContext.Result.Model);
Assert.Equal(2, form.Count); Assert.Equal(2, form.Count);
Assert.Equal("value1", form["field1"]); Assert.Equal("value1", form["field1"]);
Assert.Equal("value2", form["field2"]); Assert.Equal("value2", form["field2"]);
@ -50,11 +50,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormCollectionModelBinder(); var binder = new FormCollectionModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var form = Assert.IsAssignableFrom<IFormCollection>(result.Model); var form = Assert.IsAssignableFrom<IFormCollection>(bindingContext.Result.Model);
Assert.Empty(form); Assert.Empty(form);
} }

View File

@ -26,12 +26,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var entry = bindingContext.ValidationState[result.Model]; var entry = bindingContext.ValidationState[bindingContext.Result.Model];
Assert.False(entry.SuppressValidation); Assert.False(entry.SuppressValidation);
Assert.Equal("file", entry.Key); Assert.Equal("file", entry.Key);
Assert.Null(entry.Metadata); Assert.Null(entry.Metadata);
@ -47,17 +47,17 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var entry = bindingContext.ValidationState[result.Model]; var entry = bindingContext.ValidationState[bindingContext.Result.Model];
Assert.False(entry.SuppressValidation); Assert.False(entry.SuppressValidation);
Assert.Equal("file", entry.Key); Assert.Equal("file", entry.Key);
Assert.Null(entry.Metadata); Assert.Null(entry.Metadata);
var files = Assert.IsAssignableFrom<IList<IFormFile>>(result.Model); var files = Assert.IsAssignableFrom<IList<IFormFile>>(bindingContext.Result.Model);
Assert.Equal(2, files.Count); Assert.Equal(2, files.Count);
} }
@ -79,12 +79,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var bindingContext = GetBindingContext(destinationType, httpContext); var bindingContext = GetBindingContext(destinationType, httpContext);
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.IsAssignableFrom(destinationType, result.Model); Assert.IsAssignableFrom(destinationType, bindingContext.Result.Model);
Assert.Equal(formFiles, result.Model as IEnumerable<IFormFile>); Assert.Equal(formFiles, bindingContext.Result.Model as IEnumerable<IFormFile>);
} }
[Fact] [Fact]
@ -97,11 +97,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var file = Assert.IsAssignableFrom<IFormFile>(result.Model); var file = Assert.IsAssignableFrom<IFormFile>(bindingContext.Result.Model);
Assert.Equal("file1.txt", file.FileName); Assert.Equal("file1.txt", file.FileName);
} }
@ -115,11 +115,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
[Fact] [Fact]
@ -133,11 +133,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
[Theory] [Theory]
@ -159,11 +159,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var file = Assert.IsAssignableFrom<IFormFile>(result.Model); var file = Assert.IsAssignableFrom<IFormFile>(bindingContext.Result.Model);
Assert.Equal(expected, file.Name); Assert.Equal(expected, file.Name);
} }
@ -179,11 +179,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
[Fact] [Fact]
@ -197,11 +197,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new FormFileModelBinder(); var binder = new FormFileModelBinder();
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
[Fact] [Fact]
@ -214,11 +214,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var bindingContext = GetBindingContextForReadOnlyArray(httpContext); var bindingContext = GetBindingContextForReadOnlyArray(httpContext);
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
[Fact] [Fact]
@ -231,11 +231,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var bindingContext = GetBindingContext(typeof(ISet<IFormFile>), httpContext); var bindingContext = GetBindingContext(typeof(ISet<IFormFile>), httpContext);
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
private static DefaultModelBindingContext GetBindingContextForReadOnlyArray(HttpContext httpContext) private static DefaultModelBindingContext GetBindingContextForReadOnlyArray(HttpContext httpContext)

View File

@ -22,13 +22,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
{ {
// Arrange // Arrange
var binder = new HeaderModelBinder(); var binder = new HeaderModelBinder();
var modelBindingContext = GetBindingContext(type); var bindingContext = GetBindingContext(type);
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
} }
[Fact] [Fact]
@ -39,17 +39,17 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var header = "Accept"; var header = "Accept";
var headerValue = "application/json,text/json"; var headerValue = "application/json,text/json";
var binder = new HeaderModelBinder(); var binder = new HeaderModelBinder();
var modelBindingContext = GetBindingContext(type); var bindingContext = GetBindingContext(type);
modelBindingContext.FieldName = header; bindingContext.FieldName = header;
modelBindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue }); bindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue });
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(headerValue.Split(','), result.Model); Assert.Equal(headerValue.Split(','), bindingContext.Result.Model);
} }
[Fact] [Fact]
@ -60,17 +60,17 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var header = "User-Agent"; var header = "User-Agent";
var headerValue = "UnitTest"; var headerValue = "UnitTest";
var binder = new HeaderModelBinder(); var binder = new HeaderModelBinder();
var modelBindingContext = GetBindingContext(type); var bindingContext = GetBindingContext(type);
modelBindingContext.FieldName = header; bindingContext.FieldName = header;
modelBindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue }); bindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue });
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(headerValue, result.Model); Assert.Equal(headerValue, bindingContext.Result.Model);
} }
[Theory] [Theory]
@ -86,18 +86,18 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var header = "Accept"; var header = "Accept";
var headerValue = "application/json,text/json"; var headerValue = "application/json,text/json";
var binder = new HeaderModelBinder(); var binder = new HeaderModelBinder();
var modelBindingContext = GetBindingContext(destinationType); var bindingContext = GetBindingContext(destinationType);
modelBindingContext.FieldName = header; bindingContext.FieldName = header;
modelBindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue }); bindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue });
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.IsAssignableFrom(destinationType, result.Model); Assert.IsAssignableFrom(destinationType, bindingContext.Result.Model);
Assert.Equal(headerValue.Split(','), result.Model as IEnumerable<string>); Assert.Equal(headerValue.Split(','), bindingContext.Result.Model as IEnumerable<string>);
} }
[Fact] [Fact]
@ -107,17 +107,17 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var header = "Accept"; var header = "Accept";
var headerValue = "application/json,text/json"; var headerValue = "application/json,text/json";
var binder = new HeaderModelBinder(); var binder = new HeaderModelBinder();
var modelBindingContext = GetBindingContextForReadOnlyArray(); var bindingContext = GetBindingContextForReadOnlyArray();
modelBindingContext.FieldName = header; bindingContext.FieldName = header;
modelBindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue }); bindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue });
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
[Fact] [Fact]
@ -127,17 +127,17 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var header = "Accept"; var header = "Accept";
var headerValue = "application/json,text/json"; var headerValue = "application/json,text/json";
var binder = new HeaderModelBinder(); var binder = new HeaderModelBinder();
var modelBindingContext = GetBindingContext(typeof(ISet<string>)); var bindingContext = GetBindingContext(typeof(ISet<string>));
modelBindingContext.FieldName = header; bindingContext.FieldName = header;
modelBindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue }); bindingContext.HttpContext.Request.Headers.Add(header, new[] { headerValue });
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
} }
private static DefaultModelBindingContext GetBindingContext(Type modelType) private static DefaultModelBindingContext GetBindingContext(Type modelType)

View File

@ -24,11 +24,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(false), CreateStringBinder()); var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(false), CreateStringBinder());
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
Assert.False(bindingContext.ModelState.IsValid); Assert.False(bindingContext.ModelState.IsValid);
Assert.Equal("someName", bindingContext.ModelName); Assert.Equal("someName", bindingContext.ModelName);
var error = Assert.Single(bindingContext.ModelState["someName.Key"].Errors); var error = Assert.Single(bindingContext.ModelState["someName.Key"].Errors);
@ -46,10 +46,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(), CreateStringBinder(false)); var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(), CreateStringBinder(false));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
Assert.False(bindingContext.ModelState.IsValid); Assert.False(bindingContext.ModelState.IsValid);
Assert.Equal("someName", bindingContext.ModelName); Assert.Equal("someName", bindingContext.ModelName);
var state = bindingContext.ModelState["someName.Value"]; var state = bindingContext.ModelState["someName.Value"];
@ -69,10 +69,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(false), CreateStringBinder(false)); var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(false), CreateStringBinder(false));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Equal(default(ModelBindingResult), result); Assert.False(bindingContext.Result.IsModelSet);
Assert.True(bindingContext.ModelState.IsValid); Assert.True(bindingContext.ModelState.IsValid);
Assert.Equal(0, bindingContext.ModelState.ErrorCount); Assert.Equal(0, bindingContext.ModelState.ErrorCount);
} }
@ -87,11 +87,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(), CreateStringBinder()); var binder = new KeyValuePairModelBinder<int, string>(CreateIntBinder(), CreateStringBinder());
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(new KeyValuePair<int, string>(42, "some-value"), result.Model); Assert.Equal(new KeyValuePair<int, string>(42, "some-value"), bindingContext.Result.Model);
} }
[Theory] [Theory]
@ -103,7 +103,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
bool isSuccess) bool isSuccess)
{ {
// Arrange // Arrange
ModelBindingResult? innerResult; ModelBindingResult innerResult;
if (isSuccess) if (isSuccess)
{ {
innerResult = ModelBindingResult.Success(model); innerResult = ModelBindingResult.Success(model);
@ -128,7 +128,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var result = await binder.TryBindStrongModel<int>(bindingContext, innerBinder, "Key", "someName.Key"); var result = await binder.TryBindStrongModel<int>(bindingContext, innerBinder, "Key", "someName.Key");
// Assert // Assert
Assert.Equal(innerResult.Value, result); Assert.Equal(innerResult, result);
Assert.Empty(bindingContext.ModelState); Assert.Empty(bindingContext.ModelState);
} }
@ -140,24 +140,24 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string)), new SimpleTypeModelBinder(typeof(string)),
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.IsTopLevelObject = true; bindingContext.IsTopLevelObject = true;
// Lack of prefix and non-empty model name both ignored. // Lack of prefix and non-empty model name both ignored.
context.ModelName = "modelName"; bindingContext.ModelName = "modelName";
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForType(typeof(KeyValuePair<string, string>)); bindingContext.ModelMetadata = metadataProvider.GetMetadataForType(typeof(KeyValuePair<string, string>));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
var model = Assert.IsType<KeyValuePair<string, string>>(result.Model); var model = Assert.IsType<KeyValuePair<string, string>>(bindingContext.Result.Model);
Assert.Equal(default(KeyValuePair<string, string>), model); Assert.Equal(default(KeyValuePair<string, string>), model);
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
} }
[Theory] [Theory]
@ -170,21 +170,21 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
new SimpleTypeModelBinder(typeof(string)), new SimpleTypeModelBinder(typeof(string)),
new SimpleTypeModelBinder(typeof(string))); new SimpleTypeModelBinder(typeof(string)));
var context = CreateContext(); var bindingContext = CreateContext();
context.ModelName = ModelNames.CreatePropertyModelName(prefix, "KeyValuePairProperty"); bindingContext.ModelName = ModelNames.CreatePropertyModelName(prefix, "KeyValuePairProperty");
var metadataProvider = new TestModelMetadataProvider(); var metadataProvider = new TestModelMetadataProvider();
context.ModelMetadata = metadataProvider.GetMetadataForProperty( bindingContext.ModelMetadata = metadataProvider.GetMetadataForProperty(
typeof(ModelWithKeyValuePairProperty), typeof(ModelWithKeyValuePairProperty),
nameof(ModelWithKeyValuePairProperty.KeyValuePairProperty)); nameof(ModelWithKeyValuePairProperty.KeyValuePairProperty));
context.ValueProvider = new TestValueProvider(new Dictionary<string, object>()); bindingContext.ValueProvider = new TestValueProvider(new Dictionary<string, object>());
// Act // Act
var result = await binder.BindModelResultAsync(context); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Equal(default(ModelBindingResult), result); Assert.False(bindingContext.Result.IsModelSet);
} }
private static DefaultModelBindingContext CreateContext() private static DefaultModelBindingContext CreateContext()
@ -225,7 +225,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var model = 42; var model = 42;
return ModelBindingResult.Success(model); return ModelBindingResult.Success(model);
} }
return null; return ModelBindingResult.Failed();
}); });
return mockIntBinder; return mockIntBinder;
} }
@ -239,7 +239,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var model = "some-value"; var model = "some-value";
return ModelBindingResult.Success(model); return ModelBindingResult.Success(model);
} }
return null; return ModelBindingResult.Failed();
}); });
} }

View File

@ -19,16 +19,15 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var type = typeof(IService); var type = typeof(IService);
var binder = new ServicesModelBinder(); var binder = new ServicesModelBinder();
var modelBindingContext = GetBindingContext(type); var bindingContext = GetBindingContext(type);
// Act // Act
var result = await binder.BindModelResultAsync(modelBindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.NotNull(result.Model);
var entry = modelBindingContext.ValidationState[result.Model]; var entry = bindingContext.ValidationState[bindingContext.Result.Model];
Assert.True(entry.SuppressValidation); Assert.True(entry.SuppressValidation);
Assert.Null(entry.Key); Assert.Null(entry.Key);
Assert.Null(entry.Metadata); Assert.Null(entry.Metadata);

View File

@ -50,10 +50,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(destinationType); var binder = new SimpleTypeModelBinder(destinationType);
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
} }
[Theory] [Theory]
@ -75,11 +75,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(destinationType); var binder = new SimpleTypeModelBinder(destinationType);
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
var error = Assert.Single(bindingContext.ModelState["theModelName"].Errors); var error = Assert.Single(bindingContext.ModelState["theModelName"].Errors);
Assert.Equal("The value '' is invalid.", error.ErrorMessage, StringComparer.Ordinal); Assert.Equal("The value '' is invalid.", error.ErrorMessage, StringComparer.Ordinal);
@ -100,11 +100,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(int)); var binder = new SimpleTypeModelBinder(typeof(int));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
Assert.False(bindingContext.ModelState.IsValid); Assert.False(bindingContext.ModelState.IsValid);
var error = Assert.Single(bindingContext.ModelState["theModelName"].Errors); var error = Assert.Single(bindingContext.ModelState["theModelName"].Errors);
Assert.Equal(message, error.ErrorMessage); Assert.Equal(message, error.ErrorMessage);
@ -118,10 +118,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(int)); var binder = new SimpleTypeModelBinder(typeof(int));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Equal(ModelBindingResult.Failed(), result); Assert.Equal(ModelBindingResult.Failed(), bindingContext.Result);
Assert.Empty(bindingContext.ModelState); Assert.Empty(bindingContext.ModelState);
} }
@ -138,10 +138,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(string)); var binder = new SimpleTypeModelBinder(typeof(string));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
Assert.True(bindingContext.ModelState.ContainsKey("theModelName")); Assert.True(bindingContext.ModelState.ContainsKey("theModelName"));
} }
@ -160,10 +160,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(string)); var binder = new SimpleTypeModelBinder(typeof(string));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
Assert.True(bindingContext.ModelState.ContainsKey("theModelName")); Assert.True(bindingContext.ModelState.ContainsKey("theModelName"));
} }
@ -180,11 +180,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(int?)); var binder = new SimpleTypeModelBinder(typeof(int?));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(12, result.Model); Assert.Equal(12, bindingContext.Result.Model);
Assert.True(bindingContext.ModelState.ContainsKey("theModelName")); Assert.True(bindingContext.ModelState.ContainsKey("theModelName"));
} }
@ -201,11 +201,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(double?)); var binder = new SimpleTypeModelBinder(typeof(double?));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(12.5, result.Model); Assert.Equal(12.5, bindingContext.Result.Model);
Assert.True(bindingContext.ModelState.ContainsKey("theModelName")); Assert.True(bindingContext.ModelState.ContainsKey("theModelName"));
} }
@ -222,11 +222,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(int)); var binder = new SimpleTypeModelBinder(typeof(int));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(42, result.Model); Assert.Equal(42, bindingContext.Result.Model);
Assert.True(bindingContext.ModelState.ContainsKey("theModelName")); Assert.True(bindingContext.ModelState.ContainsKey("theModelName"));
} }
@ -243,11 +243,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(decimal)); var binder = new SimpleTypeModelBinder(typeof(decimal));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
Assert.Equal(12.5M, result.Model); Assert.Equal(12.5M, bindingContext.Result.Model);
Assert.True(bindingContext.ModelState.ContainsKey("theModelName")); Assert.True(bindingContext.ModelState.ContainsKey("theModelName"));
} }
@ -264,11 +264,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(decimal)); var binder = new SimpleTypeModelBinder(typeof(decimal));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.False(result.IsModelSet); Assert.False(bindingContext.Result.IsModelSet);
Assert.Null(result.Model); Assert.Null(bindingContext.Result.Model);
var error = Assert.Single(bindingContext.ModelState["theModelName"].Errors); var error = Assert.Single(bindingContext.ModelState["theModelName"].Errors);
Assert.Equal("The value '12,5' is not valid for Decimal.", error.ErrorMessage, StringComparer.Ordinal); Assert.Equal("The value '12,5' is not valid for Decimal.", error.ErrorMessage, StringComparer.Ordinal);
@ -288,11 +288,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(IntEnum)); var binder = new SimpleTypeModelBinder(typeof(IntEnum));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var boundModel = Assert.IsType<IntEnum>(result.Model); var boundModel = Assert.IsType<IntEnum>(bindingContext.Result.Model);
Assert.Equal(IntEnum.Value1, boundModel); Assert.Equal(IntEnum.Value1, boundModel);
} }
@ -309,11 +309,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(IntEnum)); var binder = new SimpleTypeModelBinder(typeof(IntEnum));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var boundModel = Assert.IsType<IntEnum>(result.Model); var boundModel = Assert.IsType<IntEnum>(bindingContext.Result.Model);
Assert.Equal(IntEnum.Value1, boundModel); Assert.Equal(IntEnum.Value1, boundModel);
} }
@ -335,11 +335,11 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
var binder = new SimpleTypeModelBinder(typeof(FlagsEnum)); var binder = new SimpleTypeModelBinder(typeof(FlagsEnum));
// Act // Act
var result = await binder.BindModelResultAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(bindingContext.Result.IsModelSet);
var boundModel = Assert.IsType<FlagsEnum>(result.Model); var boundModel = Assert.IsType<FlagsEnum>(bindingContext.Result.Model);
Assert.Equal((FlagsEnum)expected, boundModel); Assert.Equal((FlagsEnum)expected, boundModel);
} }

View File

@ -22,25 +22,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
{ {
public class ModelBindingHelperTest public class ModelBindingHelperTest
{ {
public static TheoryData<ModelBindingResult?> UnsuccessfulModelBindingData [Fact]
{ public async Task TryUpdateModel_ReturnsFalse_IfBinderIsUnsuccessful()
get
{
return new TheoryData<ModelBindingResult?>
{
null,
ModelBindingResult.Failed(),
};
}
}
[Theory]
[MemberData(nameof(UnsuccessfulModelBindingData))]
public async Task TryUpdateModel_ReturnsFalse_IfBinderIsUnsuccessful(ModelBindingResult? binderResult)
{ {
// Arrange // Arrange
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var binder = new StubModelBinder(binderResult); var binder = new StubModelBinder(ModelBindingResult.Failed());
var model = new MyModel(); var model = new MyModel();
// Act // Act
@ -141,14 +128,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
Assert.Equal("MyPropertyValue", model.MyProperty); Assert.Equal("MyPropertyValue", model.MyProperty);
} }
[Theory] [Fact]
[MemberData(nameof(UnsuccessfulModelBindingData))] public async Task TryUpdateModel_UsingPropertyFilterOverload_ReturnsFalse_IfBinderIsUnsuccessful()
public async Task TryUpdateModel_UsingPropertyFilterOverload_ReturnsFalse_IfBinderIsUnsuccessful(
ModelBindingResult? binderResult)
{ {
// Arrange // Arrange
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var binder = new StubModelBinder(binderResult); var binder = new StubModelBinder(ModelBindingResult.Failed());
var model = new MyModel(); var model = new MyModel();
Func<ModelMetadata, bool> propertyFilter = (m) => true; Func<ModelMetadata, bool> propertyFilter = (m) => true;
@ -224,14 +209,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
Assert.Equal("Old-ExcludedPropertyValue", model.ExcludedProperty); Assert.Equal("Old-ExcludedPropertyValue", model.ExcludedProperty);
} }
[Theory] [Fact]
[MemberData(nameof(UnsuccessfulModelBindingData))] public async Task TryUpdateModel_UsingIncludeExpressionOverload_ReturnsFalse_IfBinderIsUnsuccessful()
public async Task TryUpdateModel_UsingIncludeExpressionOverload_ReturnsFalse_IfBinderIsUnsuccessful(
ModelBindingResult? binderResult)
{ {
// Arrange // Arrange
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var binder = new StubModelBinder(binderResult); var binder = new StubModelBinder(ModelBindingResult.Failed());
var model = new MyModel(); var model = new MyModel();
// Act // Act
@ -472,14 +455,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
ex.Message); ex.Message);
} }
[Theory] [Fact]
[MemberData(nameof(UnsuccessfulModelBindingData))] public async Task TryUpdateModelNonGeneric_PropertyFilterOverload_ReturnsFalse_IfBinderIsUnsuccessful()
public async Task TryUpdateModelNonGeneric_PropertyFilterOverload_ReturnsFalse_IfBinderIsUnsuccessful(
ModelBindingResult? binderResult)
{ {
// Arrange // Arrange
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var binder = new StubModelBinder(binderResult); var binder = new StubModelBinder(ModelBindingResult.Failed());
var model = new MyModel(); var model = new MyModel();
Func<ModelMetadata, bool> propertyFilter = (m) => true; Func<ModelMetadata, bool> propertyFilter = (m) => true;
@ -557,14 +538,12 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
Assert.Equal("Old-ExcludedPropertyValue", model.ExcludedProperty); Assert.Equal("Old-ExcludedPropertyValue", model.ExcludedProperty);
} }
[Theory] [Fact]
[MemberData(nameof(UnsuccessfulModelBindingData))] public async Task TryUpdateModelNonGeneric_ModelTypeOverload_ReturnsFalse_IfBinderIsUnsuccessful()
public async Task TryUpdateModelNonGeneric_ModelTypeOverload_ReturnsFalse_IfBinderIsUnsuccessful(
ModelBindingResult? binderResult)
{ {
// Arrange // Arrange
var metadataProvider = new EmptyModelMetadataProvider(); var metadataProvider = new EmptyModelMetadataProvider();
var binder = new StubModelBinder(binderResult); var binder = new StubModelBinder(ModelBindingResult.Failed());
var model = new MyModel(); var model = new MyModel();

View File

@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
_callback = context => TaskCache.CompletedTask; _callback = context => TaskCache.CompletedTask;
} }
public StubModelBinder(ModelBindingResult? result) public StubModelBinder(ModelBindingResult result)
{ {
_callback = context => _callback = context =>
{ {
@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
}; };
} }
public StubModelBinder(Func<ModelBindingContext, ModelBindingResult?> callback) public StubModelBinder(Func<ModelBindingContext, ModelBindingResult> callback)
{ {
_callback = context => _callback = context =>
{ {
@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
}; };
} }
public StubModelBinder(Func<ModelBindingContext, Task<ModelBindingResult?>> callback) public StubModelBinder(Func<ModelBindingContext, Task<ModelBindingResult>> callback)
{ {
_callback = async context => _callback = async context =>
{ {
@ -66,8 +66,8 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
{ {
throw new ArgumentNullException(nameof(bindingContext)); throw new ArgumentNullException(nameof(bindingContext));
} }
Debug.Assert(bindingContext.Result == null);
Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());
await _callback.Invoke(bindingContext); await _callback.Invoke(bindingContext);
} }
} }

View File

@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var model = new Person3(); var model = new Person3();
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -143,7 +143,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var model = new Person4(); var model = new Person4();
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -189,7 +189,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -230,7 +230,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -274,7 +274,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -321,7 +321,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -366,7 +366,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -75,7 +75,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -115,7 +115,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -155,7 +155,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -190,7 +190,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -235,7 +235,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -276,7 +276,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -317,7 +317,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -73,7 +73,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.False(modelBindingResult.Value.IsModelSet); Assert.False(modelBindingResult.IsModelSet);
// ModelState (not set unless inner binder sets it) // ModelState (not set unless inner binder sets it)
Assert.True(modelState.IsValid); Assert.True(modelState.IsValid);
@ -84,75 +84,6 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
{ {
} }
[Fact]
public async Task BindParameter_WithModelBinderType_NonGreedy_NoData()
{
// Arrange
var argumentBinder = ModelBindingTestHelper.GetArgumentBinder();
var parameter = new ParameterDescriptor()
{
Name = "Parameter1",
BindingInfo = new BindingInfo()
{
BinderType = typeof(NullResultModelBinder)
},
ParameterType = typeof(Person2)
};
// No data is passed.
var testContext = ModelBindingTestHelper.GetTestContext();
var modelState = testContext.ModelState;
// Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert
// ModelBindingResult
Assert.False(modelBindingResult.Value.IsModelSet);
// ModelState
Assert.True(modelState.IsValid);
Assert.Empty(modelState.Keys);
}
// ModelBinderAttribute can be used without specifying the binder type.
// In such cases BinderTypeBasedModelBinder acts like a non greedy binder where
// it returns an empty ModelBindingResult allowing other ModelBinders to run.
[Fact]
public async Task BindParameter_WithOutModelBinderType()
{
// Arrange
var argumentBinder = ModelBindingTestHelper.GetArgumentBinder();
var parameter = new ParameterDescriptor()
{
Name = "Parameter1",
BindingInfo = new BindingInfo()
{
BinderType = typeof(NullResultModelBinder)
},
ParameterType = typeof(Person2)
};
// No data is passed.
var testContext = ModelBindingTestHelper.GetTestContext();
var modelState = testContext.ModelState;
// Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert
// ModelBindingResult
Assert.False(modelBindingResult.Value.IsModelSet);
// ModelState
Assert.True(modelState.IsValid);
Assert.Empty(modelState.Keys);
}
// Ensures that prefix is part of the result returned back. // Ensures that prefix is part of the result returned back.
[Fact] [Fact]
[ReplaceCulture] [ReplaceCulture]
@ -176,7 +107,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -219,7 +150,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -258,7 +189,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -286,7 +217,8 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
{ {
throw new ArgumentNullException(nameof(bindingContext)); throw new ArgumentNullException(nameof(bindingContext));
} }
Debug.Assert(bindingContext.Result == null);
Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());
if (bindingContext.ModelType != typeof(Address)) if (bindingContext.ModelType != typeof(Address))
{ {
@ -313,7 +245,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
{ {
throw new ArgumentNullException(nameof(bindingContext)); throw new ArgumentNullException(nameof(bindingContext));
} }
Debug.Assert(bindingContext.Result == null); Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());
var model = "Success"; var model = "Success";
bindingContext.ModelState.SetModelValue( bindingContext.ModelState.SetModelValue(
@ -334,7 +266,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
{ {
throw new ArgumentNullException(nameof(bindingContext)); throw new ArgumentNullException(nameof(bindingContext));
} }
Debug.Assert(bindingContext.Result == null); Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());
bindingContext.Result = ModelBindingResult.Success(model: null); bindingContext.Result = ModelBindingResult.Success(model: null);
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
@ -349,25 +281,11 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
{ {
throw new ArgumentNullException(nameof(bindingContext)); throw new ArgumentNullException(nameof(bindingContext));
} }
Debug.Assert(bindingContext.Result == null); Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());
bindingContext.Result = ModelBindingResult.Failed(); bindingContext.Result = ModelBindingResult.Failed();
return TaskCache.CompletedTask; return TaskCache.CompletedTask;
} }
} }
private class NullResultModelBinder : IModelBinder
{
public Task BindModelAsync(ModelBindingContext bindingContext)
{
if (bindingContext == null)
{
throw new ArgumentNullException(nameof(bindingContext));
}
Debug.Assert(bindingContext.Result == null);
return TaskCache.CompletedTask;
}
}
} }
} }

View File

@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -95,7 +95,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var result = await argumentBinding.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var result = await argumentBinding.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelState.IsValid); Assert.True(modelState.IsValid);
@ -130,7 +130,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -182,7 +182,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -223,7 +223,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -263,7 +263,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -299,7 +299,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -342,7 +342,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -379,7 +379,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -420,7 +420,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -462,7 +462,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -521,7 +521,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -559,7 +559,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -623,7 +623,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -680,7 +680,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -129,7 +129,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert

View File

@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -74,7 +74,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -111,7 +111,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert

View File

@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -85,7 +85,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -119,7 +119,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -151,7 +151,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -190,7 +190,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -229,7 +229,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -262,7 +262,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -300,7 +300,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -359,7 +359,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -410,7 +410,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -462,7 +462,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -505,7 +505,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -556,7 +556,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -606,7 +606,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -663,7 +663,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -702,7 +702,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -926,7 +926,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -75,7 +75,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -113,7 +113,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -164,7 +164,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -199,7 +199,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -231,7 +231,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -292,7 +292,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -332,7 +332,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -371,7 +371,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -411,7 +411,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -522,7 +522,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -53,8 +53,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
// ModelBindingResult // ModelBindingResult

View File

@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -101,7 +101,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
// ModelBindingResult // ModelBindingResult
@ -141,7 +141,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert

View File

@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -100,8 +100,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var result = await argumentBinder.BindModelAsync(parameter, testContext) ?? var result = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(result.IsModelSet);
@ -146,8 +145,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var result = await argumentBinder.BindModelAsync(parameter, testContext) ?? var result = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(result.IsModelSet);
@ -191,8 +189,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var result = await argumentBinder.BindModelAsync(parameter, testContext) ?? var result = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(result.IsModelSet);
@ -246,7 +243,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
// ModelBindingResult // ModelBindingResult
@ -295,7 +292,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.False(modelBindingResult.Value.IsModelSet); Assert.False(modelBindingResult.IsModelSet);
// ModelState // ModelState
Assert.True(modelState.IsValid); Assert.True(modelState.IsValid);

View File

@ -42,7 +42,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -119,7 +119,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -175,7 +175,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
throw new ArgumentNullException(nameof(bindingContext)); throw new ArgumentNullException(nameof(bindingContext));
} }
Debug.Assert(bindingContext.Result == null); Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());
var allowedBindingSource = bindingContext.BindingSource; var allowedBindingSource = bindingContext.BindingSource;
if (allowedBindingSource == null || if (allowedBindingSource == null ||
@ -211,7 +211,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -245,7 +245,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -280,7 +280,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -325,7 +325,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -370,7 +370,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -405,7 +405,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -449,7 +449,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -493,7 +493,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -529,7 +529,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -577,7 +577,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -625,7 +625,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -87,7 +87,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -129,7 +129,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -175,8 +175,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var result = await argumentBinder.BindModelAsync(parameter, testContext) ?? var result = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(result.IsModelSet);
@ -223,8 +222,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var result = await argumentBinder.BindModelAsync(parameter, testContext) ?? var result = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
Assert.True(result.IsModelSet); Assert.True(result.IsModelSet);
@ -287,7 +285,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert

View File

@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.False(modelBindingResult.IsModelSet); Assert.False(modelBindingResult.IsModelSet);
@ -117,7 +117,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.False(modelBindingResult.IsModelSet); Assert.False(modelBindingResult.IsModelSet);
@ -154,7 +154,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.False(modelBindingResult.IsModelSet); Assert.False(modelBindingResult.IsModelSet);
@ -201,7 +201,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.False(modelBindingResult.IsModelSet); Assert.False(modelBindingResult.IsModelSet);
@ -244,7 +244,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -284,7 +284,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -324,7 +324,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -360,7 +360,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -405,7 +405,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -446,7 +446,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -487,7 +487,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -96,7 +96,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -135,7 +135,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -184,7 +184,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -230,7 +230,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -66,7 +66,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -107,7 +107,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -148,7 +148,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -190,7 +190,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -231,7 +231,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -279,7 +279,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -322,7 +322,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -365,7 +365,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -419,7 +419,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -463,7 +463,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -508,7 +508,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -551,7 +551,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -592,7 +592,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -633,7 +633,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -679,7 +679,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -725,7 +725,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -763,7 +763,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -805,7 +805,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -851,7 +851,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -897,7 +897,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -935,7 +935,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -977,7 +977,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1023,7 +1023,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1069,7 +1069,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1107,7 +1107,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1149,7 +1149,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1195,7 +1195,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1241,7 +1241,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1279,7 +1279,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1327,7 +1327,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1371,7 +1371,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1417,7 +1417,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1469,7 +1469,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1514,7 +1514,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1563,7 +1563,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1614,7 +1614,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1657,7 +1657,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1696,7 +1696,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1739,7 +1739,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1782,7 +1782,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1821,7 +1821,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1865,7 +1865,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1909,7 +1909,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -72,7 +72,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
// ModelBindingResult // ModelBindingResult
@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
// ModelBindingResult // ModelBindingResult
@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
// ModelBindingResult // ModelBindingResult

View File

@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -84,7 +84,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -129,7 +129,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -173,7 +173,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -217,7 +217,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -275,7 +275,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -324,7 +324,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -376,7 +376,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
// ModelBindingResult // ModelBindingResult
@ -419,7 +419,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -457,7 +457,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
@ -511,8 +511,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
default(ModelBindingResult);
// Assert // Assert
// ModelBindingResult // ModelBindingResult

View File

@ -183,7 +183,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -220,7 +220,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -271,7 +271,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -309,7 +309,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -362,7 +362,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -401,7 +401,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -454,7 +454,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -493,7 +493,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -541,7 +541,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -579,7 +579,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -627,7 +627,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -664,7 +664,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -715,7 +715,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -752,7 +752,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -792,7 +792,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -850,7 +850,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -887,7 +887,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -957,7 +957,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -994,7 +994,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1045,7 +1045,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1082,7 +1082,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1122,7 +1122,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1162,7 +1162,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1202,7 +1202,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
var modelState = testContext.ModelState; var modelState = testContext.ModelState;
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1333,7 +1333,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
modelState.SetModelValue("CustomParameter.message", "Hello", "Hello"); modelState.SetModelValue("CustomParameter.message", "Hello", "Hello");
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1376,7 +1376,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
modelState.SetModelValue("message", "Hello", "Hello"); modelState.SetModelValue("message", "Hello", "Hello");
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1421,7 +1421,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
modelState.SetModelValue("other.key", "1", "1"); modelState.SetModelValue("other.key", "1", "1");
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);
@ -1468,7 +1468,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
modelState.SetModelValue("other.key", "1", "1"); modelState.SetModelValue("other.key", "1", "1");
// Act // Act
var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext) ?? default(ModelBindingResult); var modelBindingResult = await argumentBinder.BindModelAsync(parameter, testContext);
// Assert // Assert
Assert.True(modelBindingResult.IsModelSet); Assert.True(modelBindingResult.IsModelSet);

View File

@ -25,9 +25,7 @@ namespace Microsoft.AspNetCore.Mvc.WebApiCompatShim
await binder.BindModelAsync(bindingContext); await binder.BindModelAsync(bindingContext);
// Assert // Assert
Assert.True(bindingContext.Result.HasValue); var result = bindingContext.Result;
var result = bindingContext.Result.Value;
Assert.True(result.IsModelSet); Assert.True(result.IsModelSet);
Assert.Same(expectedModel, result.Model); Assert.Same(expectedModel, result.Model);