예제 #1
0
        public async Task GetFriendIds_ReturnsFromUserQueryExecutor()
        {
            // Arrange
            var controller = CreateUserController();

            var parameters = new GetFriendIdsParameters("username");

            var iterator           = controller.GetFriendIdsIterator(parameters, A.Fake <ITwitterRequest>());
            var iteratorTestRunner = new TwitterIdsIteratorTestRunner(iterator);

            iteratorTestRunner.Arrange(A.CallTo(() => _fakeUserQueryExecutor.GetFriendIds(A <IGetFriendIdsParameters> .Ignored, A <ITwitterRequest> .Ignored)));
            await iteratorTestRunner.Act();

            await iteratorTestRunner.Assert();
        }
예제 #2
0
        // Friend Ids
        public ITwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> > GetFriendIdsIterator(IGetFriendIdsParameters parameters, ITwitterRequest request)
        {
            var twitterCursorResult = new TwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> >(
                parameters.Cursor,
                cursor =>
            {
                var cursoredParameters = new GetFriendIdsParameters(parameters)
                {
                    Cursor = cursor
                };

                return(_userQueryExecutor.GetFriendIds(cursoredParameters, new TwitterRequest(request)));
            },
                page => page.DataTransferObject.NextCursorStr,
                page => page.DataTransferObject.NextCursorStr == "0");

            return(twitterCursorResult);
        }
예제 #3
0
        public void GetFriendIdsQuery_ReturnsExpectedQuery()
        {
            // Arrange
            var parameters = new GetFriendIdsParameters(42)
            {
                Cursor   = "cursor_id",
                PageSize = 43,
                CustomQueryParameters = { new Tuple <string, string>("hello", "world") }
            };

            var queryGenerator = CreateUserQueryGenerator();

            // Act
            var result = queryGenerator.GetFriendIdsQuery(parameters);

            // Assert
            Assert.Equal(result, $"https://api.twitter.com/1.1/friends/ids.json?user_id=42&cursor=cursor_id&count=43&hello=world");
        }
예제 #4
0
        public ITwitterIterator <long> GetFriendIdsIterator(IUserIdentifier userIdentifier)
        {
            var parameters = new GetFriendIdsParameters(userIdentifier);

            return(GetFriendIdsIterator(parameters));
        }
예제 #5
0
        public ITwitterIterator <long> GetFriendIdsIterator(long userId)
        {
            var parameters = new GetFriendIdsParameters(userId);

            return(GetFriendIdsIterator(parameters));
        }