Example #1
0
        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);
        }
Example #2
0
        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"));
        }