public void SimpleArray() { var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Form.Add("Ages[]", "8"); request.Form.Add("Ages[]", "32"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<SimpleArrayViewModel>(request, ""); Assert.Equal(8, actual.Ages[0]); Assert.Equal(32, actual.Ages[1]); }
public void SimpleArray() { var request = new HttpRequest(); request.Form.Add("Ages[]", "8"); request.Form.Add("Ages[]", "32"); var modelMapper = new ModelMapper(); var actual = (SimpleArrayViewModel)modelMapper.Map(typeof(SimpleArrayViewModel), request, ""); Assert.Equal(8, actual.Ages[0]); Assert.Equal(32, actual.Ages[1]); }
public void SimpleMapping() { var request = new HttpRequest(); request.Form.Add("UserName", "Jonas"); request.Form.Add("FirstName", "Arne"); var modelMapper = new ModelMapper(); var user = (UserViewModel)modelMapper.Map(typeof(UserViewModel), request, ""); Assert.Equal("Jonas", user.UserName); Assert.Equal("Arne", user.FirstName); }
public void SimpleMapping() { var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Form.Add("UserName", "Jonas"); request.Form.Add("FirstName", "Arne"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<UserViewModel>(request, ""); Assert.Equal("Jonas", actual.UserName); Assert.Equal("Arne", actual.FirstName); }
public void Nested() { var request = new HttpRequest(); request.Form.Add("Author.UserName", "Jonas"); request.Form.Add("Author.FirstName", "Arne"); request.Form.Add("Rating", "22"); var modelMapper = new ModelMapper(); var actual = (RatingViewModel)modelMapper.Map(typeof(RatingViewModel), request, ""); Assert.Equal("Jonas", actual.Author.UserName); Assert.Equal("Arne", actual.Author.FirstName); }
public void Nested() { var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Form.Add("Author.UserName", "Jonas"); request.Form.Add("Author.FirstName", "Arne"); request.Form.Add("Rating", "22"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<RatingViewModel>(request, ""); Assert.Equal("Jonas", actual.Author.UserName); Assert.Equal("Arne", actual.Author.FirstName); }
public void ViewModelWithArray_Indexed() { var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Form.Add("Users[0].FirstName", "Hobbe"); request.Form.Add("Users[0].Age", "32"); request.Form.Add("Users[1].FirstName", "Kalle"); request.Form.Add("Users[2].Age", "10"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<UsersViewModel>(request, ""); Assert.Equal("Hobbe", actual.Users[0].FirstName); Assert.Equal("Kalle", actual.Users[1].FirstName); }
public void NoPublicDefaultConstructor() { var provider = new ValueProvider { Parameters = { new Parameter("user.FirstName", "jonas"), } }; var mapper = new ModelMapper(); mapper.Clear(); mapper.AddBinder(new PrimitiveModelBinder()); var context = new ModelBinderContext(typeof(Test), "user", "", provider) { RootBinder = mapper }; var binder = new ClassBinder(); Assert.Throws<ModelBindingException>(() => binder.Bind(context)); }
public void InvalidFieldType() { var provider = new ValueProvider { Parameters = { new Parameter("user.FirstName", "jonas"), new Parameter("user.Age", "arne") } }; var mapper = new ModelMapper(); mapper.Clear(); mapper.AddBinder(new PrimitiveModelBinder()); var context = new ModelBinderContext(typeof(UserViewModel), "user", "", provider) { RootBinder = mapper }; var binder = new ClassBinder(); Assert.Throws<ModelBindingException>(() => binder.Bind(context)); }
public void UnknownField() { var provider = new ValueProvider { Parameters = { new Parameter("user.FirstName", "jonas"), new Parameter("user.NotInventedHere", "23") } }; var mapper = new ModelMapper(); mapper.Clear(); mapper.AddBinder(new PrimitiveModelBinder()); var context = new ModelBinderContext(typeof(UserViewModel), "user", "", provider) { RootBinder = mapper }; var binder = new ClassBinder(); var actual = (UserViewModel)binder.Bind(context); Assert.Equal("jonas", actual.FirstName); }
public void Bind_ViewModelArray_Index() { var provider = new ValueProvider { Parameters = { new Parameter("user[1].FirstName", "jonas"), new Parameter("user[0].FirstName", "Arne"), new Parameter("user[0].Age", "32"), new Parameter("user[1].Age", "23") } }; var mapper = new ModelMapper(); mapper.Clear(); mapper.AddBinder(new PrimitiveModelBinder()); mapper.AddBinder(new ClassBinder()); var context = new ModelBinderContext(typeof(UserViewModel[]), "user", "", provider) {RootBinder = mapper}; var binder = new ArrayModelBinder(); var actual = (UserViewModel[])binder.Bind(context); Assert.NotNull(actual); Assert.Equal("jonas", actual[1].FirstName); Assert.Equal("Arne", actual[0].FirstName); Assert.Equal(23, actual[1].Age); Assert.Equal(32, actual[0].Age); }
public void Bind_ViewModelArray_Gap() { var provider = new ValueProvider { Parameters = { new Parameter("user[1].FirstName", "jonas"), new Parameter("user[3].FirstName", "Arne"), new Parameter("user[0].Age", "32"), new Parameter("user[1].Age", "23") } }; var mapper = new ModelMapper(); mapper.Clear(); mapper.AddBinder(new PrimitiveModelBinder()); mapper.AddBinder(new ClassBinder()); var context = new ModelBinderContext(typeof(UserViewModel[]), "user", "", provider) { RootBinder = mapper }; var binder = new ArrayModelBinder(); Assert.Throws<ModelBindingException>(() => binder.Bind(context)); }
public void Array_Associative() { var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Form.Add("Users[Jonas].FirstName", "Hobbe"); request.Form.Add("Users[Jonas].Age", "32"); request.Form.Add("Users[Arne].FirstName", "Kalle"); request.Form.Add("Users[Arne].Age", "10"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<Dictionary<string, UserViewModel>>(request, "Users"); Assert.Equal("Hobbe", actual["Jonas"].FirstName); Assert.Equal("Kalle", actual["Arne"].FirstName); }
public void Array_AssociativeNumeric() { var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Form.Add("Users['0'].FirstName", "Hobbe"); request.Form.Add("Users['0'].Age", "32"); request.Form.Add("Users['1'].FirstName", "Kalle"); request.Form.Add("Users['1'].Age", "10"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<SimpleAssocArrayViewModel>(request, ""); Assert.Equal("Hobbe", actual.Users["0"].FirstName); Assert.Equal("Kalle", actual.Users["1"].FirstName); }
public void Array_Indexed() { var request = new HttpRequest(); request.Form.Add("users[0].FirstName", "Hobbe"); request.Form.Add("users[0].Age", "32"); request.Form.Add("users[1].FirstName", "Kalle"); request.Form.Add("users[2].Age", "10"); var modelMapper = new ModelMapper(); var actual = modelMapper.Bind<UserViewModel[]>(request, "users"); Assert.Equal("Hobbe", actual[0].FirstName); Assert.Equal("Kalle", actual[1].FirstName); }