public void GetParametersTest()
        {
            FavoritesRequestProcessor <Favorites> target = new FavoritesRequestProcessor <Favorites>()
            {
                BaseUrl = "http://twitter.com/"
            };
            Expression <Func <Favorites, bool> > expression =
                fav =>
                fav.Type == FavoritesType.Favorites &&
                fav.Page == 1 &&
                fav.ID == "123";
            LambdaExpression lambdaExpression = expression as LambdaExpression;

            var queryParams = target.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Type", ((int)FavoritesType.Favorites).ToString())));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("Page", "1")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>("ID", "123")));
        }
        public void ProcessResults_Returns_Empty_Collection_When_Empty_Results()
        {
            var reqProc = new FavoritesRequestProcessor<Favorites> { BaseUrl = "https://api.twitter.com/1.1/" };

            var favorites = reqProc.ProcessResults(string.Empty);

            Assert.IsFalse(favorites.Any());
        }
        public void ProcessResults_Handles_Response()
        {
            var favReqProc = new FavoritesRequestProcessor<Favorites>();

            List<Favorites> favorites = favReqProc.ProcessResults(TwitterResponse);

            Assert.AreEqual(2, favorites.Count());
        }
        public void ProcessResults_Handles_Response()
        {
            var favReqProc = new FavoritesRequestProcessor <Favorites>();

            List <Favorites> favorites = favReqProc.ProcessResults(TwitterResponse);

            Assert.AreEqual(2, favorites.Count());
        }
        public void ProcessResultsTest()
        {
            FavoritesRequestProcessor <Favorites> target = new FavoritesRequestProcessor <Favorites>();
            XElement twitterResponse = XElement.Parse(m_twitterResponse);
            IList    actual          = target.ProcessResults(twitterResponse);
            var      results         = actual.Cast <Favorites>();

            Assert.AreEqual(2, results.Count());
        }
        public void BuildUrl_Throws_On_Null_Params_Dictionary()
        {
            var favReqProc = new FavoritesRequestProcessor <Favorites> {
                BaseUrl = "https://api.twitter.com/1.1/"
            };

            var ex = L2TAssert.Throws <ArgumentException>(() => favReqProc.BuildUrl(null));

            Assert.AreEqual("parameters", ex.ParamName);
        }
        public void ProcessResults_Returns_Empty_Collection_When_Empty_Results()
        {
            var reqProc = new FavoritesRequestProcessor <Favorites> {
                BaseUrl = "https://api.twitter.com/1.1/"
            };

            var favorites = reqProc.ProcessResults(string.Empty);

            Assert.IsFalse(favorites.Any());
        }
        public void BuildUrl_Throws_On_Missing_Type_Param()
        {
            var favReqProc = new FavoritesRequestProcessor <Favorites> {
                BaseUrl = "https://api.twitter.com/1.1/"
            };
            var parameters = new Dictionary <string, string>();

            var ex = L2TAssert.Throws <ArgumentException>(() => favReqProc.BuildUrl(parameters));

            Assert.AreEqual("Type", ex.ParamName);
        }
示例#9
0
        public void BuildURLTest()
        {
            FavoritesRequestProcessor target = new FavoritesRequestProcessor()
            {
                BaseUrl = "http://twitter.com/"
            };
            Dictionary <string, string> parameters =
                new Dictionary <string, string>
            {
                { "ID", "123" },
                { "Page", "1" },
            };
            string expected = "http://twitter.com/favorites.xml?page=1&id=123";
            string actual;

            actual = target.BuildURL(parameters);
            Assert.AreEqual(expected, actual);
        }
        public void GetParameters_Handles_Input_Parameters()
        {
            var favReqProc = new FavoritesRequestProcessor <Favorites> {
                BaseUrl = "https://api.twitter.com/1.1/"
            };
            Expression <Func <Favorites, bool> > expression =
                fav =>
                fav.Type == FavoritesType.Favorites &&
                fav.UserID == 123ul &&
                fav.ScreenName == "JoeMayo" &&
                fav.Count == 100 &&
                fav.SinceID == 456 &&
                fav.MaxID == 789 &&
                fav.IncludeEntities == true &&
                fav.TweetMode == TweetMode.Extended;
            var lambdaExpression = expression as LambdaExpression;

            var queryParams = favReqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.Type), ((int)FavoritesType.Favorites).ToString(CultureInfo.InvariantCulture))));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.UserID), "123")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.ScreenName), "JoeMayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.Count), "100")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.SinceID), "456")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.MaxID), "789")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.IncludeEntities), "True")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair <string, string>(nameof(Favorites.TweetMode), ((int)TweetMode.Extended).ToString(CultureInfo.InvariantCulture))));
        }
        public void NullParametersTest()
        {
            FavoritesRequestProcessor <Favorites> target = new FavoritesRequestProcessor <Favorites>()
            {
                BaseUrl = "http://twitter.com/"
            };
            Dictionary <string, string> parameters = null;
            string actual;

            try
            {
                actual = target.BuildURL(parameters);
                Assert.Fail("Expected ArgumentException.");
            }
            catch (ArgumentException ae)
            {
                Assert.AreEqual <string>("Type", ae.ParamName);
            }
        }
        public void BuildUrl_Constructs_Favorites_Url()
        {
            const string ExpectedUrl = "https://api.twitter.com/1.1/favorites/list.json?user_id=123&screen_name=JoeMayo&count=100&since_id=456&max_id=789&include_entities=true";
            var favReqProc = new FavoritesRequestProcessor<Favorites> { BaseUrl = "https://api.twitter.com/1.1/" };
            var parameters =
                new Dictionary<string, string>
                {
                    { "Type", FavoritesType.Favorites.ToString() },
                    { "UserID", "123" },
                    { "ScreenName", "JoeMayo" },
                    { "Count", "100" },
                    { "SinceID", "456" },
                    { "MaxID", "789" },
                    { "IncludeEntities", true.ToString() }

                };

            Request req = favReqProc.BuildUrl(parameters);

            Assert.AreEqual(ExpectedUrl, req.FullUrl);
        }
        public void BuildUrl_Constructs_Favorites_Url()
        {
            const string ExpectedUrl = "https://api.twitter.com/1.1/favorites/list.json?user_id=123&screen_name=JoeMayo&count=100&since_id=456&max_id=789&include_entities=true";
            var          favReqProc  = new FavoritesRequestProcessor <Favorites> {
                BaseUrl = "https://api.twitter.com/1.1/"
            };
            var parameters =
                new Dictionary <string, string>
            {
                { "Type", FavoritesType.Favorites.ToString() },
                { "UserID", "123" },
                { "ScreenName", "JoeMayo" },
                { "Count", "100" },
                { "SinceID", "456" },
                { "MaxID", "789" },
                { "IncludeEntities", true.ToString() }
            };

            Request req = favReqProc.BuildUrl(parameters);

            Assert.AreEqual(ExpectedUrl, req.FullUrl);
        }
        public void GetParameters_Handles_Input_Parameters()
        {
            var favReqProc = new FavoritesRequestProcessor<Favorites> { BaseUrl = "https://api.twitter.com/1.1/" };
            Expression<Func<Favorites, bool>> expression =
                fav =>
                    fav.Type == FavoritesType.Favorites &&
                    fav.UserID == 123ul &&
                    fav.ScreenName == "JoeMayo" &&
                    fav.Count == 100 &&
                    fav.SinceID == 456 &&
                    fav.MaxID == 789 &&
                    fav.IncludeEntities == true;
            var lambdaExpression = expression as LambdaExpression;

            var queryParams = favReqProc.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Type", ((int)FavoritesType.Favorites).ToString(CultureInfo.InvariantCulture))));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("UserID", "123")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("ScreenName", "JoeMayo")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Count", "100")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("SinceID", "456")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("MaxID", "789")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("IncludeEntities", "True")));
        }
        public void BuildUrl_Constructs_Favorites_Url()
        {
            const string ExpectedUrl = "https://api.twitter.com/1.1/favorites/list.json?user_id=123&screen_name=JoeMayo&count=100&since_id=456&max_id=789&include_entities=true&tweet_mode=extended";
            var          favReqProc  = new FavoritesRequestProcessor <Favorites> {
                BaseUrl = "https://api.twitter.com/1.1/"
            };
            var parameters =
                new Dictionary <string, string>
            {
                { nameof(Favorites.Type), FavoritesType.Favorites.ToString() },
                { nameof(Favorites.UserID), "123" },
                { nameof(Favorites.ScreenName), "JoeMayo" },
                { nameof(Favorites.Count), "100" },
                { nameof(Favorites.SinceID), "456" },
                { nameof(Favorites.MaxID), "789" },
                { nameof(Favorites.IncludeEntities), true.ToString() },
                { nameof(Favorites.TweetMode), ((int)TweetMode.Extended).ToString() }
            };

            Request req = favReqProc.BuildUrl(parameters);

            Assert.AreEqual(ExpectedUrl, req.FullUrl);
        }
        public void CreateFavoritesRequestProcessor_Works_With_Actions()
        {
            var favReqProc = new FavoritesRequestProcessor<Favorites>();

            Assert.IsAssignableFrom<IRequestProcessorWithAction<Favorites>>(favReqProc);
        }
        public void CreateFavoritesRequestProcessor_Works_With_Actions()
        {
            var favReqProc = new FavoritesRequestProcessor <Favorites>();

            Assert.IsAssignableFrom <IRequestProcessorWithAction <Favorites> >(favReqProc);
        }
        public void BuildUrl_Throws_On_Missing_Type_Param()
        {
            var favReqProc = new FavoritesRequestProcessor<Favorites> { BaseUrl = "https://api.twitter.com/1.1/" };
            var parameters = new Dictionary<string, string>();

            var ex = L2TAssert.Throws<ArgumentException>(() => favReqProc.BuildUrl(parameters));

            Assert.AreEqual("Type", ex.ParamName);
        }
        public void BuildUrl_Throws_On_Null_Params_Dictionary()
        {
            var favReqProc = new FavoritesRequestProcessor<Favorites> { BaseUrl = "https://api.twitter.com/1.1/" };

            var ex = L2TAssert.Throws<ArgumentException>(() => favReqProc.BuildUrl(null));

            Assert.AreEqual("parameters", ex.ParamName);
        }
 public void ProcessResultsTest()
 {
     FavoritesRequestProcessor<Favorites> target = new FavoritesRequestProcessor<Favorites>();
     XElement twitterResponse = XElement.Parse(m_twitterResponse);
     IList actual = target.ProcessResults(twitterResponse);
     var results = actual.Cast<Favorites>();
     Assert.AreEqual(2, results.Count());
 }
 public void NullParametersTest()
 {
     FavoritesRequestProcessor<Favorites> target = new FavoritesRequestProcessor<Favorites>() { BaseUrl = "http://twitter.com/" };
     Dictionary<string, string> parameters = null;
     string actual;
     try
     {
         actual = target.BuildURL(parameters);
         Assert.Fail("Expected ArgumentException.");
     }
     catch (ArgumentException ae)
     {
         Assert.AreEqual<string>("Type", ae.ParamName);
     }
 }
        public void GetParametersTest()
        {
            FavoritesRequestProcessor<Favorites> target = new FavoritesRequestProcessor<Favorites>() { BaseUrl = "http://twitter.com/" };
            Expression<Func<Favorites, bool>> expression =
                fav =>
                    fav.Type == FavoritesType.Favorites &&
                    fav.Page == 1 &&
                    fav.ID == "123";
            LambdaExpression lambdaExpression = expression as LambdaExpression;

            var queryParams = target.GetParameters(lambdaExpression);

            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Type", ((int)FavoritesType.Favorites).ToString())));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("Page", "1")));
            Assert.IsTrue(
                queryParams.Contains(
                    new KeyValuePair<string, string>("ID", "123")));
        }
 public void BuildURLTest()
 {
     FavoritesRequestProcessor<Favorites> target = new FavoritesRequestProcessor<Favorites>() { BaseUrl = "http://twitter.com/" };
     Dictionary<string, string> parameters =
         new Dictionary<string, string>
         {
             { "Type", FavoritesType.Favorites.ToString() },
             { "ID", "123" },
             { "Page", "1" },
         };
     string expected = "http://twitter.com/favorites.xml?page=1&id=123";
     string actual;
     actual = target.BuildURL(parameters);
     Assert.AreEqual(expected, actual);
 }
        public void CreateFavoritesRequestProcessor_Works_With_Actions()
        {
            var favReqProc = new FavoritesRequestProcessor <Favorites>();

            Assert.IsInstanceOfType(favReqProc, typeof(IRequestProcessorWithAction <Favorites>));
        }
        public void CreateFavoritesRequestProcessor_Works_With_Actions()
        {
            var favReqProc = new FavoritesRequestProcessor<Favorites>();

            Assert.IsInstanceOfType(favReqProc, typeof(IRequestProcessorWithAction<Favorites>));
        }