public void GetParametersTest()
        {
            var reqProc = new UserRequestProcessor <User>();

            Expression <Func <User, bool> > expression =
                user =>
                user.Type == UserType.Friends &&
                user.ID == "10" &&
                user.UserID == "10" &&
                user.ScreenName == "JoeMayo" &&
                user.Cursor == "10819235" &&
                user.Slug == "twitter" &&
                user.Query == "Joe Mayo" &&
                user.Page == 2 &&
                user.PerPage == 10;

            LambdaExpression lambdaExpression = expression as LambdaExpression;

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Type", ((int)UserType.Friends).ToString())));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ID", "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("UserID", "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ScreenName", "JoeMayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ID", "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Cursor", "10819235")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Slug", "twitter")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Query", "Joe Mayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Page", "2")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("PerPage", "10")));
        }
예제 #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())));
        }
        public void GetParameters_Handles_Input_Params()
        {
            var reqProc = new UserRequestProcessor <User>();

            Expression <Func <User, bool> > expression =
                user =>
                user.Type == UserType.Show &&
                user.UserID == 10 &&
                user.UserIdList == "1,2" &&
                user.ScreenName == "JoeMayo" &&
                user.ScreenNameList == "JoeMayo,Linq2Tweeter" &&
                user.Cursor == 10819235 &&
                user.Slug == "twitter" &&
                user.Query == "Joe Mayo" &&
                user.Page == 2 &&
                user.Count == 10 &&
                user.Lang == "it" &&
                user.IncludeEntities == true &&
                user.SkipStatus == true &&
                user.ImageSize == ProfileImageSize.Mini;

            var lambdaExpression = expression as LambdaExpression;

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Type", ((int)UserType.Show).ToString())));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("UserID", "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("UserIdList", "1,2")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ScreenName", "JoeMayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ScreenNameList", "JoeMayo,Linq2Tweeter")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Cursor", "10819235")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Slug", "twitter")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Query", "Joe Mayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Page", "2")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Count", "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Lang", "it")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("IncludeEntities", "True")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("SkipStatus", "True")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ImageSize", ((int)ProfileImageSize.Mini).ToString())));
        }
        public void GetParameters_Handles_Input_Params()
        {
            var reqProc = new UserRequestProcessor <User>();

            Expression <Func <User, bool> > expression =
                user =>
                user.Type == UserType.Show &&
                user.UserID == 10 &&
                user.UserIdList == "1,2" &&
                user.ScreenName == "JoeMayo" &&
                user.ScreenNameList == "JoeMayo,Linq2Tweeter" &&
                user.Cursor == 10819235 &&
                user.Slug == "twitter" &&
                user.Query == "Joe Mayo" &&
                user.Page == 2 &&
                user.Count == 10 &&
                user.Lang == "it" &&
                user.IncludeEntities == true &&
                user.SkipStatus == true &&
                user.ImageSize == ProfileImageSize.Mini &&
                user.TweetMode == TweetMode.Extended;

            var lambdaExpression = expression as LambdaExpression;

            Dictionary <string, string> queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Type), ((int)UserType.Show).ToString())));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.UserID), "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.UserIdList), "1,2")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.ScreenName), "JoeMayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.ScreenNameList), "JoeMayo,Linq2Tweeter")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Cursor), "10819235")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Slug), "twitter")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Query), "Joe Mayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Page), "2")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Count), "10")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.Lang), "it")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.IncludeEntities), "True")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.SkipStatus), "True")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.ImageSize), ((int)ProfileImageSize.Mini).ToString())));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(User.TweetMode), ((int)TweetMode.Extended).ToString())));
        }
        public void GetParameters_Handles_Input_Params()
        {
            var reqProc = new UserRequestProcessor<User>();

            Expression<Func<User, bool>> expression =
            user =>
                user.Type == UserType.Show &&
                user.UserID == 10 &&
                user.UserIdList == "1,2" &&
                user.ScreenName == "JoeMayo" &&
                user.ScreenNameList == "JoeMayo,Linq2Tweeter" &&
                user.Cursor == 10819235 &&
                user.Slug == "twitter" &&
                user.Query == "Joe Mayo" &&
                user.Page == 2 &&
                user.Count == 10 &&
                user.Lang == "it" &&
                user.IncludeEntities == true &&
                user.SkipStatus == true &&
                user.ImageSize == ProfileImageSize.Mini;

            var lambdaExpression = expression as LambdaExpression;

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Type", ((int)UserType.Show).ToString())));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("UserID", "10")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("UserIdList", "1,2")));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ScreenName", "JoeMayo")));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ScreenNameList", "JoeMayo,Linq2Tweeter")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Cursor", "10819235")));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("Slug", "twitter")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Query", "Joe Mayo")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Page", "2")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Count", "10")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Lang", "it")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("IncludeEntities", "True")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("SkipStatus", "True")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("ImageSize", ((int)ProfileImageSize.Mini).ToString())));
        }
        public void GetParametersTest()
        {
            var reqProc = new UserRequestProcessor<User>();

            Expression<Func<User, bool>> expression =
            user =>
                user.Type == UserType.Friends &&
                user.ID == "10" &&
                user.UserID == "10" &&
                user.ScreenName == "JoeMayo" &&
                user.Cursor == "10819235" &&
                user.Slug == "twitter" &&
                user.Query == "Joe Mayo" &&
                user.Page == 2 &&
                user.PerPage == 10;

            LambdaExpression lambdaExpression = expression as LambdaExpression;

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Type", ((int)UserType.Friends).ToString())));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ID", "10")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("UserID", "10")));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ScreenName", "JoeMayo")));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ID", "10")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Cursor", "10819235")));
            Assert.IsTrue(
               queryParams.Contains(
                   new KeyValuePair<string, string>("Slug", "twitter")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Query", "Joe Mayo")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Page", "2")));
            Assert.IsTrue(
              queryParams.Contains(
                  new KeyValuePair<string, string>("PerPage", "10")));
        }