public void ProcessResults_Populates_EmbeddedStatus_Parameters() { var statProc = new StatusRequestProcessor <Status>() { BaseUrl = "https://api.twitter.com/1.1/", Type = StatusType.Oembed, ID = "123", OEmbedUrl = "http://myurl.com", OEmbedMaxWidth = 300, OEmbedHideMedia = true, OEmbedHideThread = true, OEmbedOmitScript = true, OEmbedAlign = EmbeddedStatusAlignment.Left, OEmbedRelated = "JoeMayo,TwitterAPI", OEmbedLanguage = "en" }; var statuses = statProc.ProcessResults(OEmbedResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); Assert.Equal(StatusType.Oembed, status.Type); Assert.Equal("123", status.ID); Assert.Equal("http://myurl.com", status.OEmbedUrl); Assert.Equal(300, status.OEmbedMaxWidth); Assert.True(status.OEmbedHideMedia); Assert.True(status.OEmbedHideThread); Assert.True(status.OEmbedOmitScript); Assert.Equal(EmbeddedStatusAlignment.Left, status.OEmbedAlign); Assert.Equal("JoeMayo,TwitterAPI", status.OEmbedRelated); Assert.Equal("en", status.OEmbedLanguage); }
public void ProcessResults_Handles_Multiple_Users() { var statProc = new StatusRequestProcessor <Status> { Type = StatusType.Retweeters, BaseUrl = "https://api.twitter.com/1.1/" }; var statuses = statProc.ProcessResults(MultipleUsersResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); var users = status.Users; Assert.NotNull(users); Assert.Equal(5, users.Count); ulong user = users.First(); Assert.Equal(34649740ul, user); var cursor = status.CursorMovement; Assert.NotNull(cursor); Assert.Equal("123", cursor.Next); Assert.Equal("456", cursor.Previous); }
public void ProcessResults_Handles_A_Single_Status() { var statProc = new StatusRequestProcessor <Status> { Type = StatusType.Show, BaseUrl = "https://api.twitter.com/1.1/" }; var statuses = statProc.ProcessResults(SingleStatusResponse); Assert.IsNotNull(statuses); Assert.AreEqual(1, statuses.Count); var status = statuses.Single(); Assert.IsNotNull(status); Assert.IsNotNull(status.Annotation); Assert.IsNotNull(status.Annotation.Attributes); Assert.IsFalse(status.Annotation.Attributes.Any()); Assert.IsNotNull(status.Annotation.Elements); Assert.IsFalse(status.Annotation.Elements.Any()); Assert.AreEqual(new DateTime(2012, 3, 28, 2, 51, 45), status.CreatedAt); var contributors = status.Contributors; Assert.IsNotNull(contributors); Assert.IsFalse(contributors.Any()); var coords = status.Coordinates; Assert.IsNotNull(coords); Assert.AreEqual(-122.40060, coords.Longitude); Assert.AreEqual(37.78215, coords.Latitude); Assert.IsNotNull(status.Entities); Assert.IsNotNull(status.Entities.HashTagEntities); Assert.IsFalse(status.Entities.HashTagEntities.Any()); Assert.IsFalse(status.Favorited); Assert.IsNull(status.InReplyToScreenName); Assert.AreEqual(0ul, status.InReplyToStatusID); Assert.AreEqual(0ul, status.InReplyToUserID); Assert.IsNotNull(status.Place); Assert.IsNull(status.Place.Name); Assert.IsFalse(status.PossiblySensitive); Assert.AreEqual(393, status.RetweetCount); Assert.IsFalse(status.Retweeted); var retweetedStatus = status.RetweetedStatus; Assert.IsNotNull(retweetedStatus); Assert.IsNotNull(retweetedStatus.Text); Assert.IsTrue(retweetedStatus.Text.StartsWith("I just blogged about")); Assert.AreEqual("web", status.Source); Assert.IsTrue(status.Text.StartsWith("RT @scottgu: I just blogged about")); Assert.AreEqual(184835136037191681ul, status.StatusID); Assert.IsNotNull(status.Text); Assert.IsFalse(status.Truncated); Assert.IsNotNull(status.User); Assert.AreEqual("Joe Mayo", status.User.Name); Assert.IsNotNull(status.Users); Assert.IsFalse(status.Users.Any()); Assert.IsNotNull(status.WithheldInCountries); Assert.IsFalse(status.WithheldInCountries.Any()); }
public void ProcessResults_Returns_Empty_Collection_When_Empty_Results() { var statProc = new StatusRequestProcessor <Status>() { BaseUrl = "https://api.twitter.com/1.1/" }; var stats = statProc.ProcessResults(string.Empty); Assert.Equal(0, stats.Count); }
public void ProcessResultsSingleResultTest() { var statProc = new StatusRequestProcessor() { BaseUrl = "http://twitter.com/" }; XElement twitterResponse = XElement.Load(new StringReader(m_testQueryResponse)); var actual = statProc.ProcessResults(twitterResponse.Descendants("status").First()); var actualQuery = actual as IList <Status>; Assert.IsNotNull(actualQuery); Assert.AreEqual(actualQuery.Count(), 1); }
public void ProcessResults_Populates_Input_Parameters() { var statProc = new StatusRequestProcessor <Status>() { BaseUrl = "https://api.twitter.com/1.1/", Type = StatusType.Show, ID = 123, UserID = 123, ScreenName = "abc", SinceID = 1, MaxID = 2, Count = 3, Cursor = 123, IncludeRetweets = true, ExcludeReplies = true, IncludeEntities = true, IncludeUserEntities = true, TrimUser = true, IncludeContributorDetails = true, IncludeMyRetweet = true, TweetIDs = "1,2,3", Map = true }; var statuses = statProc.ProcessResults(SingleStatusResponse); Assert.IsNotNull(statuses); Assert.AreEqual(1, statuses.Count); var status = statuses.Single(); Assert.IsNotNull(status); Assert.AreEqual(StatusType.Show, status.Type); Assert.AreEqual(123ul, status.ID); Assert.AreEqual(123ul, status.UserID); Assert.AreEqual("abc", status.ScreenName); Assert.AreEqual(1ul, status.SinceID); Assert.AreEqual(2ul, status.MaxID); Assert.AreEqual(3, status.Count); Assert.AreEqual(123L, status.Cursor); Assert.IsTrue(status.IncludeRetweets); Assert.IsTrue(status.ExcludeReplies); Assert.IsTrue(status.IncludeEntities); Assert.IsTrue(status.IncludeUserEntities); Assert.IsTrue(status.TrimUser); Assert.IsTrue(status.IncludeContributorDetails); Assert.IsTrue(status.IncludeMyRetweet); Assert.AreEqual("1,2,3", status.TweetIDs); Assert.IsTrue(status.Map); }
public void ProcessResults_Handles_An_Embedded_Status() { var statProc = new StatusRequestProcessor <Status> { Type = StatusType.Oembed, BaseUrl = "https://api.twitter.com/1.1/" }; const string ExpectedType = "rich"; const ulong ExpectedCacheAge = 3153600000; const string ExpectedVersion = "1.0"; const string ExpectedProviderName = "Twitter"; const string ExpectedUrl = "https://twitter.com/JoeMayo/statuses/305050067973312514"; const int ExpectedWidth = 550; const int ExpectedHeight = 0; const string ExpectedHtml = "some html"; const string ExpectedProviderUrl = "https://twitter.com"; const string ExpectedAuthorUrl = "https://twitter.com/JoeMayo"; const string ExpectedAuthorName = "Joe Mayo"; var statuses = statProc.ProcessResults(OEmbedResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); var embeddedStatus = status.EmbeddedStatus; Assert.NotNull(embeddedStatus); Assert.Equal(ExpectedType, embeddedStatus.Type); Assert.Equal(ExpectedCacheAge, embeddedStatus.CacheAge); Assert.Equal(ExpectedVersion, embeddedStatus.Version); Assert.Equal(ExpectedProviderName, embeddedStatus.ProviderName); Assert.Equal(ExpectedUrl, embeddedStatus.Url); Assert.Equal(ExpectedWidth, embeddedStatus.Width); Assert.Equal(ExpectedHeight, embeddedStatus.Height); Assert.Equal(ExpectedHtml, embeddedStatus.Html); Assert.Equal(ExpectedProviderUrl, embeddedStatus.ProviderUrl); Assert.Equal(ExpectedAuthorUrl, embeddedStatus.AuthorUrl); Assert.Equal(ExpectedAuthorName, embeddedStatus.AuthorName); }
public void ProcessResults_Returns_Empty_Collection_When_Empty_Results() { var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "https://api.twitter.com/1.1/" }; var stats = statProc.ProcessResults(string.Empty); Assert.Equal(0, stats.Count); }
public void ProcessResults_Populates_Input_Parameters() { var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "https://api.twitter.com/1.1/", Type = StatusType.Show, ID = "123", UserID = "123", ScreenName = "abc", SinceID = 1, MaxID = 2, Count = 3, Page = 4, IncludeRetweets = true, ExcludeReplies = true, IncludeEntities = true, IncludeUserEntities = true, TrimUser = true, IncludeContributorDetails = true, IncludeMyRetweet = true, }; var statuses = statProc.ProcessResults(SingleStatusResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); Assert.Equal(StatusType.Show, status.Type); Assert.Equal("123", status.ID); Assert.Equal("123", status.UserID); Assert.Equal("abc", status.ScreenName); Assert.Equal(1ul, status.SinceID); Assert.Equal(2ul, status.MaxID); Assert.Equal(3, status.Count); Assert.Equal(4, status.Page); Assert.True(status.IncludeRetweets); Assert.True(status.ExcludeReplies); Assert.True(status.IncludeEntities); Assert.True(status.IncludeUserEntities); Assert.True(status.TrimUser); Assert.True(status.IncludeContributorDetails); Assert.True(status.IncludeMyRetweet); }
public void ProcessResults_Populates_EmbeddedStatus_Parameters() { var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "https://api.twitter.com/1.1/", Type = StatusType.Oembed, ID = "123", OEmbedUrl = "http://myurl.com", OEmbedMaxWidth = 300, OEmbedHideMedia = true, OEmbedHideThread = true, OEmbedOmitScript = true, OEmbedAlign = EmbeddedStatusAlignment.Left, OEmbedRelated = "JoeMayo,TwitterAPI", OEmbedLanguage = "en" }; var statuses = statProc.ProcessResults(OEmbedResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); Assert.Equal(StatusType.Oembed, status.Type); Assert.Equal("123", status.ID); Assert.Equal("http://myurl.com", status.OEmbedUrl); Assert.Equal(300, status.OEmbedMaxWidth); Assert.True(status.OEmbedHideMedia); Assert.True(status.OEmbedHideThread); Assert.True(status.OEmbedOmitScript); Assert.Equal(EmbeddedStatusAlignment.Left, status.OEmbedAlign); Assert.Equal("JoeMayo,TwitterAPI", status.OEmbedRelated); Assert.Equal("en", status.OEmbedLanguage); }
public void ProcessResults_Handles_Multiple_Users() { var statProc = new StatusRequestProcessor<Status> { Type = StatusType.RetweetedBy, BaseUrl = "https://api.twitter.com/1.1/" }; var statuses = statProc.ProcessResults(MultipleUsersResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); var users = status.Users; Assert.NotNull(users); Assert.Equal(5, users.Count); var user = users.First(); Assert.NotNull(user.Identifier); Assert.Equal("gcaughey", user.Identifier.ScreenName); }
public void ProcessResults_Handles_Multiple_Statuses() { var statProc = new StatusRequestProcessor<Status> { Type = StatusType.Home, BaseUrl = "https://api.twitter.com/1.1/" }; var statuses = statProc.ProcessResults(MultipleStatusResponse); Assert.NotNull(statuses); Assert.Equal(3, statuses.Count); var status = statuses.First(); Assert.NotNull(status); Assert.False(status.Retweeted); Assert.Null(status.InReplyToScreenName); Assert.False(status.PossiblySensitive); var retweetedStatus = status.RetweetedStatus; Assert.NotNull(retweetedStatus); Assert.NotNull(retweetedStatus.Text); Assert.True(retweetedStatus.Text.StartsWith("I just blogged about")); var contributors = status.Contributors; Assert.NotNull(contributors); Assert.Empty(contributors); var coords = status.Coordinates; Assert.NotNull(coords); Assert.Equal(-122.40060, coords.Latitude); Assert.Equal(37.78215, coords.Longitude); Assert.NotNull(status.Place); Assert.Null(status.Place.Name); Assert.NotNull(status.User); Assert.Equal("Joe Mayo", status.User.Name); Assert.Equal(393, status.RetweetCount); Assert.Equal("184835136037191681", status.StatusID); Assert.Null(status.InReplyToUserID); Assert.False(status.Favorited); Assert.Null(status.InReplyToStatusID); Assert.Equal("web", status.Source); Assert.Equal(new DateTime(2012, 3, 28, 2, 51, 45), status.CreatedAt); Assert.Null(status.InReplyToUserID); Assert.False(status.Truncated); Assert.NotNull(status.Text); Assert.True(status.Text.StartsWith("RT @scottgu: I just blogged about")); Assert.NotNull(status.Annotation); Assert.Empty(status.Annotation.Attributes); Assert.NotNull(status.Entities); Assert.Null(status.Entities.HashTagMentions); }
public void ProcessResults_Handles_An_Embedded_Status() { var statProc = new StatusRequestProcessor<Status> { Type = StatusType.Oembed, BaseUrl = "https://api.twitter.com/1.1/" }; const string ExpectedType = "rich"; const string ExpectedCacheAge = "31536000000"; const string ExpectedVersion = "1.0"; const string ExpectedProviderName = "Twitter"; const string ExpectedUrl = "https://twitter.com/JoeMayo/status/305050067973312514"; const int ExpectedWidth = 550; const int ExpectedHeight = 0; const string ExpectedHtml = "some html"; const string ExpectedProviderUrl = "http://twitter.com"; const string ExpectedAuthorUrl = "https://twitter.com/JoeMayo"; const string ExpectedAuthorName = "Joe Mayo"; var statuses = statProc.ProcessResults(OEmbedResponse); Assert.NotNull(statuses); Assert.Single(statuses); var status = statuses.Single(); Assert.NotNull(status); var embeddedStatus = status.EmbeddedStatus; Assert.NotNull(embeddedStatus); Assert.Equal(ExpectedType, embeddedStatus.Type); Assert.Equal(ExpectedCacheAge, embeddedStatus.CacheAge); Assert.Equal(ExpectedVersion, embeddedStatus.Version); Assert.Equal(ExpectedProviderName, embeddedStatus.ProviderName); Assert.Equal(ExpectedUrl, embeddedStatus.Url); Assert.Equal(ExpectedWidth, embeddedStatus.Width); Assert.Equal(ExpectedHeight, embeddedStatus.Height); Assert.Equal(ExpectedHtml, embeddedStatus.Html); Assert.Equal(ExpectedProviderUrl, embeddedStatus.ProviderUrl); Assert.Equal(ExpectedAuthorUrl, embeddedStatus.AuthorUrl); Assert.Equal(ExpectedAuthorName, embeddedStatus.AuthorName); }
public void ProcessResults_Handles_Multiple_Users() { var statProc = new StatusRequestProcessor<Status> { Type = StatusType.Retweeters, BaseUrl = "https://api.twitter.com/1.1/" }; var statuses = statProc.ProcessResults(MultipleUsersResponse); Assert.IsNotNull(statuses); Assert.AreEqual(1, statuses.Count); var status = statuses.Single(); Assert.IsNotNull(status); var users = status.Users; Assert.IsNotNull(users); Assert.AreEqual(5, users.Count); ulong user = users.First(); Assert.AreEqual(34649740ul, user); var cursor = status.CursorMovement; Assert.IsNotNull(cursor); Assert.AreEqual(123L, cursor.Next); Assert.AreEqual(456L, cursor.Previous); }
public void TwypocalypseProcessResultsSingleResultTest() { var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "http://twitter.com/" }; XElement twitterResponse = XElement.Load(new StringReader(m_testQueryResponse)); twitterResponse.Element("status").Element("id").Value = ulong.MaxValue.ToString(); var actual = statProc.ProcessResults(twitterResponse.Descendants("status").First()); var actualQuery = actual as IList<Status>; Assert.IsNotNull(actualQuery); Assert.AreEqual(actualQuery.Count(), 1); }
public void ProcessResultsMultipleResultsTest() { var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "http://twitter.com/" }; XElement twitterResponse = XElement.Load(new StringReader(m_testQueryResponse)); var actual = statProc.ProcessResults(twitterResponse); var actualQuery = actual as IList<Status>; Assert.IsNotNull(actualQuery); Assert.AreEqual(actualQuery.Count(), 20); }