예제 #1
0
        public void GetParametersTest()
        {
            var reqProc = new StatusRequestProcessor();

            var ctx = new TwitterContext();

            var publicQuery =
                from tweet in ctx.Status
                where tweet.Type == StatusType.Public
                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)StatusType.Public).ToString())));
        }
예제 #2
0
        public void GetParameters_Handles_Input_Params()
        {
            var reqProc = new StatusRequestProcessor <Status>();

            Expression <Func <Status, bool> > expression =
                status =>
                status.Type == StatusType.Home &&
                status.ID == "10" &&
                status.UserID == "10" &&
                status.ScreenName == "JoeMayo" &&
                status.SinceID == 123 &&
                status.MaxID == 456 &&
                status.Count == 50 &&
                status.Cursor == "789" &&
                status.IncludeRetweets == true &&
                status.ExcludeReplies == true &&
                status.IncludeEntities == true &&
                status.IncludeUserEntities == true &&
                status.TrimUser == true &&
                status.IncludeContributorDetails == true &&
                status.IncludeMyRetweet == true &&
                status.OEmbedUrl == "http://myurl.com" &&
                status.OEmbedAlign == EmbeddedStatusAlignment.Center &&
                status.OEmbedHideMedia == true &&
                status.OEmbedHideThread == true &&
                status.OEmbedLanguage == "en" &&
                status.OEmbedMaxWidth == 300 &&
                status.OEmbedOmitScript == true &&
                status.OEmbedRelated == "JoeMayo";

            var lambdaExpression = expression as LambdaExpression;

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Type", ((int)StatusType.Home).ToString())));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ID", "10")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("UserID", "10")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ScreenName", "JoeMayo")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("SinceID", "123")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("MaxID", "456")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Count", "50")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Cursor", "789")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("IncludeRetweets", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ExcludeReplies", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("IncludeUserEntities", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedRelated", "JoeMayo")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("TrimUser", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("IncludeContributorDetails", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("IncludeMyRetweet", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedUrl", "http://myurl.com")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedAlign", ((int)EmbeddedStatusAlignment.Center).ToString())));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedHideMedia", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedHideThread", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedLanguage", "en")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedMaxWidth", "300")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedOmitScript", "True")));
            Assert.True(
                queryParams.Contains(
                    new KeyValuePair <string, string>("OEmbedRelated", "JoeMayo")));
        }
        public void GetParameters_Handles_Input_Params()
        {
            var reqProc = new StatusRequestProcessor<Status>();

            Expression<Func<Status, bool>> expression =
            status =>
                status.Type == StatusType.Home &&
                status.ID == "10" &&
                status.UserID == "10" &&
                status.ScreenName == "JoeMayo" &&
                status.SinceID == 123 &&
                status.MaxID == 456 &&
                status.Count == 50 &&
                status.Page == 2 &&
                status.IncludeRetweets == true &&
                status.ExcludeReplies == true &&
                status.IncludeEntities == true &&
                status.IncludeUserEntities == true &&
                status.TrimUser == true &&
                status.IncludeContributorDetails == true &&
                status.IncludeMyRetweet == true &&
                status.OEmbedUrl == "http://myurl.com" &&
                status.OEmbedAlign == EmbeddedStatusAlignment.Center &&
                status.OEmbedHideMedia == true &&
                status.OEmbedHideThread == true &&
                status.OEmbedLanguage == "en" &&
                status.OEmbedMaxWidth == 300 &&
                status.OEmbedOmitScript == true &&
                status.OEmbedRelated == "JoeMayo";

            var lambdaExpression = expression as LambdaExpression;

            var queryParams = reqProc.GetParameters(lambdaExpression);

            Assert.True(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Type", ((int)StatusType.Home).ToString())));
            Assert.True(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ID", "10")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("UserID", "10")));
            Assert.True(
               queryParams.Contains(
                   new KeyValuePair<string, string>("ScreenName", "JoeMayo")));
            Assert.True(
               queryParams.Contains(
                   new KeyValuePair<string, string>("SinceID", "123")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("MaxID", "456")));
            Assert.True(
               queryParams.Contains(
                   new KeyValuePair<string, string>("Count", "50")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Page", "2")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("Page", "2")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("IncludeRetweets", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("ExcludeReplies", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("IncludeUserEntities", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedRelated", "JoeMayo")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("TrimUser", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("IncludeContributorDetails", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("IncludeMyRetweet", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedUrl", "http://myurl.com")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedAlign", ((int)EmbeddedStatusAlignment.Center).ToString())));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedHideMedia", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedHideThread", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedLanguage", "en")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedMaxWidth", "300")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedOmitScript", "True")));
            Assert.True(
              queryParams.Contains(
                  new KeyValuePair<string, string>("OEmbedRelated", "JoeMayo")));
        }
        public void GetParametersTest()
        {
            var reqProc = new StatusRequestProcessor<Status>();

            var ctx = new TwitterContext();

            var publicQuery =
                from tweet in ctx.Status
                where tweet.Type == StatusType.Public
                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)StatusType.Public).ToString())));
        }