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()))); }
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()))); }