public void Execute_Calls_QueryTwitterStream_For_UserStream_Queries() { var authMock = new Mock<ITwitterAuthorizer>(); var execMock = new Mock<ITwitterExecute>(); execMock.SetupGet(exec => exec.AuthorizedClient).Returns(authMock.Object); var ctx = new TwitterContext(execMock.Object); var streamingQuery = from tweet in ctx.UserStream where tweet.Type == UserStreamType.User select tweet; ctx.Execute<UserStream>(streamingQuery.Expression, isEnumerable: true); execMock.Verify(exec => exec.QueryTwitterStream(It.IsAny<Request>()), Times.Once()); }
public void Execute_Calls_QueryTwitter_InsteadOf_QueryTwitterStream_For_NonStreaming_Queries() { var authMock = new Mock<ITwitterAuthorizer>(); var execMock = new Mock<ITwitterExecute>(); execMock.SetupGet(exec => exec.AuthorizedClient).Returns(authMock.Object); execMock.Setup(exec => exec.QueryTwitter(It.IsAny<Request>(), It.IsAny<StatusRequestProcessor<Status>>())).Returns(SingleStatusResponse); var ctx = new TwitterContext(execMock.Object); var statusQuery = from tweet in ctx.Status where tweet.Type == StatusType.Show select tweet; ctx.Execute<Status>(statusQuery.Expression, isEnumerable: true); execMock.Verify(exec => exec.QueryTwitterStream(It.IsAny<Request>()), Times.Never()); execMock.Verify(exec => exec.QueryTwitter(It.IsAny<Request>(), It.IsAny<StatusRequestProcessor<Status>>()), Times.Once()); }