public void GetParametersTest()
        {
            var dmProc = new DirectMessageRequestProcessor <DirectMessage>();
            var ctx    = new TwitterContext();

            var directMessages =
                from tweet in ctx.DirectMessage
                where tweet.Type == DirectMessageType.SentTo
                select tweet;

            var whereFinder      = new FirstWhereClauseFinder();
            var whereExpression  = whereFinder.GetFirstWhere(directMessages.Expression);
            var lambdaExpression = (LambdaExpression)((UnaryExpression)(whereExpression.Arguments[1])).Operand;

            lambdaExpression = (LambdaExpression)Evaluator.PartialEval(lambdaExpression);

            var queryParams = dmProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Type", ((int)DirectMessageType.SentTo).ToString())));
        }
示例#2
0
        public void GetParametersTest()
        {
            var reqProc = new UserRequestProcessor();

            var ctx = new TwitterContext();

            var publicQuery =
                from tweet in ctx.User
                where tweet.Type == UserType.Friends
                select tweet;

            var whereFinder     = new FirstWhereClauseFinder();
            var whereExpression = whereFinder.GetFirstWhere(publicQuery.Expression);

            var lambdaExpression = (LambdaExpression)((UnaryExpression)(whereExpression.Arguments[1])).Operand;

            lambdaExpression = (LambdaExpression)Evaluator.PartialEval(lambdaExpression);

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Type", ((int)UserType.Friends).ToString())));
        }