public void Bind_SimpleForm() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["JobKey"] = "test" }; Form1 form = (Form1)binder.Bind(typeof(Form1), request); Assert.That(form, Is.Not.Null); Assert.That(form.JobKey, Is.EqualTo("test")); }
public void Bind_NestedArray_ShouldBeCaseInsensitive() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["ITEMS[0].key"] = "key1" }; Form2 form = (Form2)binder.Bind(typeof(Form2), request); Assert.That(form, Is.Not.Null); Assert.That(form.Items, Is.Not.Null); Assert.That(form.Items.Length, Is.EqualTo(1)); Assert.That(form.Items[0].Key, Is.EqualTo("key1")); }
public void Bind_NestedArrayWrongKey_ShouldIgnore() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["Items[0]"] = "key1", ["Items[0].Key"] = "key2" }; Form2 form = (Form2)binder.Bind(typeof(Form2), request); Assert.That(form, Is.Not.Null); Assert.That(form.Items, Is.Not.Null); Assert.That(form.Items.Length, Is.EqualTo(1)); Assert.That(form.Items[0].Key, Is.EqualTo("key2")); }
public void Bind_NestedArray() { var binder = new ReflectionBinder(); var request = new DictionaryRequest { ["Items[0].Key"] = "key1", ["Items[0].Value"] = "value1", ["Items[1].Key"] = "key2", ["Items[1].Value"] = "value2" }; Form2 form = (Form2)binder.Bind(typeof(Form2), request); Assert.That(form, Is.Not.Null); Assert.That(form.Items, Is.Not.Null); Assert.That(form.Items.Length, Is.EqualTo(2)); Assert.That(form.Items[0].Key, Is.EqualTo("key1")); Assert.That(form.Items[0].Value, Is.EqualTo("value1")); Assert.That(form.Items[1].Key, Is.EqualTo("key2")); Assert.That(form.Items[1].Value, Is.EqualTo("value2")); }
public Response FillResponse(IRequest request) { var form = Binder.Bind(typeof(TForm), request); return(_action.Invoke((TForm)form).FillResponse(request)); }