public void RawValueToObjectArray_RawValueIsEnumerable_ReturnsInputAsArray() { // Assert List <int> original = new List <int> { 1, 2, 3, 4 }; // Act object[] retVal = ModelBindingHelper.RawValueToObjectArray(original); // Assert Assert.Equal(new object[] { 1, 2, 3, 4 }, retVal); }
public void ValidateBindingContextThrowsIfModelMetadataIsNull() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext(); // Act & assert Assert.ThrowsArgument( () => ModelBindingHelper.ValidateBindingContext(bindingContext, typeof(string), true), "bindingContext", "The binding context cannot have a null ModelMetadata." ); }
public void ValidateBindingContext_SuccessWithNullModel() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = GetMetadata(typeof(string)) }; // Act ModelBindingHelper.ValidateBindingContext(bindingContext, typeof(string), true); // Assert // Nothing to do - if we got this far without throwing, the test succeeded }
public void ValidateBindingContextThrowsIfModelTypeIsWrong() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = GetMetadata(typeof(object)) }; // Act & assert Assert.Throws <ArgumentException>( () => ModelBindingHelper.ValidateBindingContext(bindingContext, typeof(string), true), @"The binding context has a ModelType of 'System.Object', but this binder can only operate on models of type 'System.String'. Parameter name: bindingContext"); }
public void ValidateBindingContextThrowsIfModelIsNullButCannotBe() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = GetMetadata(typeof(string)) }; // Act & assert Assert.Throws <ArgumentException>( () => ModelBindingHelper.ValidateBindingContext(bindingContext, typeof(string), false), @"The binding context has a null Model, but this binder requires a non-null model of type 'System.String'. Parameter name: bindingContext"); }
public void ReplaceEmptyStringWithNull_ConvertEmptyStringToNullDisabled_ModelIsNotEmptyString_LeavesModelAlone() { // Arrange ModelMetadata modelMetadata = GetMetadata(typeof(string)); modelMetadata.ConvertEmptyStringToNull = true; // Act object model = 42; ModelBindingHelper.ReplaceEmptyStringWithNull(modelMetadata, ref model); // Assert Assert.Equal(42, model); }
public void ReplaceEmptyStringWithNull_ConvertEmptyStringToNullEnabled_ModelIsWhitespaceString_ReplacesModelWithNull() { // Arrange ModelMetadata modelMetadata = GetMetadata(typeof(string)); modelMetadata.ConvertEmptyStringToNull = true; // Act object model = " "; // whitespace ModelBindingHelper.ReplaceEmptyStringWithNull(modelMetadata, ref model); // Assert Assert.Null(model); }
public void ValidateBindingContextThrowsIfModelInstanceIsWrongType() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = GetMetadata(typeof(string)) }; bindingContext.ModelMetadata.Model = 42; // Act & assert Assert.ThrowsArgument( () => ModelBindingHelper.ValidateBindingContext(bindingContext, typeof(string), allowNullModel: true), "bindingContext", "The binding context has a Model of type 'System.Int32', but this binder can only operate on models of type 'System.String'."); }