public void BeginMentions_WithDefaultParameters_HasParametersSet()
        {
            // act
            var twitterClient = Substitute.For<IBaseTwitterClient>();
            twitterClient.When(a => a.BeginRequest(Arg.Any<string>(), Arg.Any<IDictionary<string, string>>(), Arg.Any<WebMethod>(), Arg.Any<RestCallback>()))
             .Do(c =>
             {
                 c.AssertParameter("trim_user", false);
                 c.AssertParameter("include_entities", false);
             });
            var statuses = new Statuses(twitterClient);

            // act
            statuses.BeginMentions((a, b, c) => { });
        }
        public void BeginMentions_WithParameters_HasParametersSet()
        {
            // arrange
            const int sinceId = 100;
            const int maxId = 200;
            const int count = 20;
            const int page = 1;
            const bool trimUser = true;
            const bool includeEntities = true;
            
            // act
            var twitterClient = Substitute.For<IBaseTwitterClient>();
            twitterClient.When(a => a.BeginRequest(Arg.Any<string>(), Arg.Any<IDictionary<string, string>>(), Arg.Any<WebMethod>(), Arg.Any<RestCallback>()))
             .Do(c =>
             {
                 c.AssertParameter("since_id", sinceId);
                 c.AssertParameter("max_id", maxId);
                 c.AssertParameter("count", count);
                 c.AssertParameter("page", page);
                 c.AssertParameter("trim_user", trimUser);
                 c.AssertParameter("include_entities", includeEntities);
             });
            var statuses = new Statuses(twitterClient);

            // act
            statuses.BeginMentions(sinceId, maxId, count, page, trimUser, includeEntities, (a, b, c) => { });
        }
        public void BeginMentions_WithDefaultParameters_WillReturnList()
        {
            // act
            var wasCalled = false;
            var twitterClient = Substitute.For<IBaseTwitterClient>();
            twitterClient.SetReponseBasedOnRequestPath();
            var statuses = new Statuses(twitterClient);

            // assert
            GenericResponseDelegate endGetMentions = (a, b, c) =>
            {
                wasCalled = true;
                var tweet = c as ResultsWrapper<Tweet>;
                Assert.That(tweet, Is.Not.Null);
                Assert.That(tweet, Is.Not.Empty);
            };

            // act
            statuses.BeginMentions(endGetMentions);

            Assert.That(wasCalled, Errors.CallbackDidNotFire);
        }