public void CanBindToMember() { // Arrange var formCollection = new NameValueCollection { { "foo.FirstName", "Fernando" }, { "foo.LastName", "Alonso" } }; var valueProvider = new NameValueCollectionValueProvider(formCollection, null); var modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(Member)); var bindingContext = new ModelBindingContext { ModelName = "foo", ValueProvider = valueProvider, ModelMetadata = modelMetadata }; MemberModelBinder b = new MemberModelBinder(); ControllerContext controllerContext = new ControllerContext(); // Act Member result = (Member)b.BindModel(controllerContext, bindingContext); // Assert Assert.AreEqual("Fernando", result.FirstName, "Incorrect value for FirstName"); Assert.AreEqual("Alonso", result.LastName, "Incorrect value for LastName"); }