public void CreateModelThrowsIfModelTypeHasNoParameterlessConstructor() { // Arrange TestableMutableObjectModelBinder testableBinder = new TestableMutableObjectModelBinder(); ExtensibleModelBindingContext bindingContext = new ExtensibleModelBindingContext { ModelMetadata = GetMetadataForType(typeof(NoParameterlessCtor)), }; // Act & Assert, confirming type name and full stack are available in Exception MissingMethodException exception = Assert.Throws <MissingMethodException>( () => testableBinder.CreateModelPublic(null, bindingContext), "No parameterless constructor defined for this object. Object type 'Microsoft.Web.Mvc.ModelBinding.Test.MutableObjectModelBinderTest+NoParameterlessCtor'."); Assert.Contains("System.Activator.CreateInstance(", exception.ToString()); }
public void CreateModel() { // Arrange ExtensibleModelBindingContext bindingContext = new ExtensibleModelBindingContext { ModelMetadata = GetMetadataForType(typeof(Person)) }; TestableMutableObjectModelBinder testableBinder = new TestableMutableObjectModelBinder(); // Act object retModel = testableBinder.CreateModelPublic(null, bindingContext); // Assert Assert.IsType <Person>(retModel); }
public void CreateModel_InstantiatesInstanceOfMetadataType() { // Arrange var bindingContext = new ModelBindingContext { ModelMetadata = GetMetadataForType(typeof(Person)) }; var testableBinder = new TestableMutableObjectModelBinder(); // Act var retModel = testableBinder.CreateModelPublic(bindingContext); // Assert Assert.IsType <Person>(retModel); }
public void CreateModel() { // Arrange ModelBindingContext bindingContext = new ModelBindingContext { ModelMetadata = GetMetadataForType(typeof(Person)) }; TestableMutableObjectModelBinder testableBinder = new TestableMutableObjectModelBinder(); // Act object retModel = testableBinder.CreateModelPublic(null, bindingContext); // Assert Assert.IsType<Person>(retModel); }
public void CreateModel_InstantiatesInstanceOfMetadataType() { // Arrange var bindingContext = new ModelBindingContext { ModelMetadata = GetMetadataForType(typeof(Person)) }; var testableBinder = new TestableMutableObjectModelBinder(); // Act var retModel = testableBinder.CreateModelPublic(bindingContext); // Assert Assert.IsType<Person>(retModel); }
public void CreateModel() { // Arrange ExtensibleModelBindingContext bindingContext = new ExtensibleModelBindingContext() { ModelMetadata = GetMetadataForType(typeof(Person)) }; TestableMutableObjectModelBinder testableBinder = new TestableMutableObjectModelBinder(); // Act object retModel = testableBinder.CreateModelPublic(null, bindingContext); // Assert Assert.IsInstanceOfType(retModel, typeof(Person)); }
public void CreateModelThrowsIfModelTypeHasNoParameterlessConstructor() { // Arrange TestableMutableObjectModelBinder testableBinder = new TestableMutableObjectModelBinder(); ExtensibleModelBindingContext bindingContext = new ExtensibleModelBindingContext { ModelMetadata = GetMetadataForType(typeof(NoParameterlessCtor)), }; // Act & Assert, confirming type name and full stack are available in Exception MissingMethodException exception = Assert.Throws<MissingMethodException>( () => testableBinder.CreateModelPublic(null, bindingContext), "No parameterless constructor defined for this object. Object type 'Microsoft.Web.Mvc.ModelBinding.Test.MutableObjectModelBinderTest+NoParameterlessCtor'."); Assert.Contains("System.Activator.CreateInstance(", exception.ToString()); }