public void BuildWrongExpressionMethod() { Expression <Func <ModelSample, ControllerSample, ModelSample> > expression = (model, controllerFixture) => controllerFixture.ControllerMethod(ControllerSample.SomeMethod(), model.Name, QueryParameter.Is <string>(), QueryParameter.Is <int>()); ParametersDelegateBuilder.Build(expression.Body as MethodCallExpression); }
public void BuildExtended() { Expression <Func <ModelSample, ControllerSample, ModelSample> > expression = (model, controllerFixture) => controllerFixture.ControllerMethod(model.Id, model.Name, QueryParameter.Is <string>(), QueryParameter.Is <int>()); var result = ParametersDelegateBuilder.Build(expression.Body as MethodCallExpression); Assume.That(result.Count, Is.EqualTo(4)); Assume.That(result.Keys, Is.EquivalentTo(new [] { "id", "name", "query", "skip" })); var modelFixture = _fixture.CreateAnonymous <ModelSample>(); Assume.That(result["id"].DynamicInvoke(modelFixture), Is.EqualTo(modelFixture.Id)); Assume.That(result["name"].DynamicInvoke(modelFixture), Is.EqualTo(modelFixture.Name)); Assume.That(result["query"].DynamicInvoke(modelFixture), Is.EqualTo(":query")); Assume.That(result["skip"].DynamicInvoke(modelFixture), Is.EqualTo(":skip")); }