public void Should_obtain_MethodInfo_for_simple_method()
        {
            Expression <Func <FunctionMappingParserTester, object> > expr = x => x.GetCustomersByName(null);
            var visitor = new FunctionMappingExpressionParser(expr);

            visitor.Process().Method.ShouldEqual(GetType().GetMethod("GetCustomersByName"));
        }
        public void Should_obtain_parameters_for_simple_method()
        {
            Expression<Func<FunctionMappingParserTester, object>> expr = x => x.GetCustomersByName(null);
            var visitor = new FunctionMappingExpressionParser(expr);
            var results = visitor.Process();

            results.Parameters.Length.ShouldEqual(1);

            var param = results.Parameters[0];
            param.Attributes["Parameter"].ShouldEqual("name");
        }
        public void Should_obtain_parameters_for_simple_method()
        {
            Expression <Func <FunctionMappingParserTester, object> > expr = x => x.GetCustomersByName(null);
            var visitor = new FunctionMappingExpressionParser(expr);
            var results = visitor.Process();

            results.Parameters.Length.ShouldEqual(1);

            var param = results.Parameters[0];

            param.Attributes["Parameter"].ShouldEqual("name");
        }
        public IFunctionMethodMapping Map(Expression <Action <T> > methodExpression)
        {
            methodExpression.Guard("An Expression must be specified when calling Map");

            var parser = new FunctionMappingExpressionParser(methodExpression);
            var result = parser.Process();

            var mapping = new FunctionMethodMapping(result.Method, result.Parameters);

            functionMappings.Add(mapping);

            return(mapping);
        }
        public void Should_obtain_parameter_for_complex_method()
        {
            Expression<Func<FunctionMappingParserTester, object>> expr =
                x => x.GetCustomersByName(
                    FunctionMapping<FunctionParameterMappingTester>.Parameter<string>(param =>
                        param.DbType("foo")
                    )
                );

            var visitor = new FunctionMappingExpressionParser(expr);
            var results = visitor.Process();

            results.Parameters.Length.ShouldEqual(1);

            var parameter = results.Parameters[0];
            parameter.Attributes["Parameter"].ShouldEqual("name");
            parameter.Attributes["DbType"].ShouldEqual("foo");
        }
        public void Should_obtain_parameter_for_complex_method()
        {
            Expression <Func <FunctionMappingParserTester, object> > expr =
                x => x.GetCustomersByName(
                    FunctionMapping <FunctionParameterMappingTester> .Parameter <string>(param =>
                                                                                         param.DbType("foo")
                                                                                         )
                    );

            var visitor = new FunctionMappingExpressionParser(expr);
            var results = visitor.Process();

            results.Parameters.Length.ShouldEqual(1);

            var parameter = results.Parameters[0];

            parameter.Attributes["Parameter"].ShouldEqual("name");
            parameter.Attributes["DbType"].ShouldEqual("foo");
        }
 public void Should_obtain_MethodInfo_for_simple_method()
 {
     Expression<Func<FunctionMappingParserTester, object>> expr = x => x.GetCustomersByName(null);
     var visitor = new FunctionMappingExpressionParser(expr);
     visitor.Process().Method.ShouldEqual(GetType().GetMethod("GetCustomersByName"));
 }