public void ProcessResults_Creates_List_Of_Status() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> results = searchProc.ProcessResults(SearchJson); Assert.IsNotNull(results.First().Statuses); Assert.IsTrue(results.First().Statuses.Any()); }
public void ProcessResults_Populates_CreatedAt() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> results = searchProc.ProcessResults(SearchJson); Assert.AreEqual( new DateTimeOffset(2012, 9, 6, 0, 10, 12, new TimeSpan(0, 0, 0)), results.First().Statuses.First().CreatedAt); }
public void ProcessResults_Populates_Entity_Hashtags() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> results = searchProc.ProcessResults(SearchJson); List <HashTagEntity> hashes = results.First().Statuses[0].Entities.HashTagEntities; Assert.IsNotNull(hashes); Assert.AreEqual(3, hashes.Count); HashTagEntity firstHash = hashes.First(); Assert.AreEqual("twitterapi", firstHash.Tag); Assert.AreEqual(89, firstHash.Start); Assert.AreEqual(100, firstHash.End); }
public void ProcessResults_Populates_Entity_Symbols() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> results = searchProc.ProcessResults(SearchJson); List <SymbolEntity> symbols = results.First().Statuses[0].Entities.SymbolEntities; Assert.IsNotNull(symbols); Assert.AreEqual(2, symbols.Count); SymbolEntity symbol = symbols.First(); Assert.AreEqual("PEP", symbol.Text); Assert.AreEqual(114, symbol.Start); Assert.AreEqual(118, symbol.End); }
public void ProcessResults_Handles_Response_With_No_Results() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> searches = searchProc.ProcessResults(EmptyResponse); Assert.IsNotNull(searches); Assert.IsNotNull(searches.SingleOrDefault()); var search = searches.Single(); Assert.IsNotNull(search); var results = search.Statuses; Assert.IsNotNull(results); Assert.IsFalse(results.Any()); }
public void ProcessResults_Populates_Entity_Users() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> results = searchProc.ProcessResults(SearchJson); List <UserMentionEntity> users = results.First().Statuses[0].Entities.UserMentionEntities; Assert.IsNotNull(users); Assert.AreEqual(1, users.Count); UserMentionEntity firstUser = users.First(); Assert.AreEqual("JoeMayo", firstUser.ScreenName); Assert.AreEqual("Joe Mayo", firstUser.Name); Assert.AreEqual(15411837ul, firstUser.Id); Assert.AreEqual(3, firstUser.Start); Assert.AreEqual(11, firstUser.End); }
public void ProcessResults_Populates_Entity_Urls() { var searchProc = new SearchRequestProcessor <Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <Search> results = searchProc.ProcessResults(SearchJson); List <UrlEntity> urls = results.First().Statuses.First().Entities.UrlEntities; Assert.IsNotNull(urls); Assert.AreEqual(1, urls.Count); UrlEntity firstUrl = urls.First(); Assert.AreEqual("http://t.co/Cc85Yzpj", firstUrl.Url); Assert.AreEqual("http://bit.ly/PSOVso", firstUrl.ExpandedUrl); Assert.AreEqual("bit.ly/PSOVso", firstUrl.DisplayUrl); Assert.AreEqual(68, firstUrl.Start); Assert.AreEqual(88, firstUrl.End); }
public void ProcessResults_Populates_Entity_Urls() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); List<UrlMention> urls = results.First().Statuses.First().Entities.UrlMentions; Assert.NotNull(urls); Assert.Equal(1, urls.Count); UrlMention firstUrl = urls.First(); Assert.Equal("http://t.co/Cc85Yzpj", firstUrl.Url); Assert.Equal("http://bit.ly/PSOVso", firstUrl.ExpandedUrl); Assert.Equal("bit.ly/PSOVso", firstUrl.DisplayUrl); Assert.Equal(68, firstUrl.Start); Assert.Equal(88, firstUrl.End); }
public void ProcessResults_Populates_Entity_Symbols() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); List<SymbolEntity> symbols = results.First().Statuses[0].Entities.SymbolEntities; Assert.IsNotNull(symbols); Assert.AreEqual(2, symbols.Count); SymbolEntity symbol = symbols.First(); Assert.AreEqual("PEP", symbol.Text); Assert.AreEqual(114, symbol.Start); Assert.AreEqual(118, symbol.End); }
public void ProcessResults_Populates_Text() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.Equal("RT @JoeMayo: Blogged - Working with Timelines with LINQ to Twitter: http://t.co/Cc85Yzpj #twitterapi #linq #linq2twitter", results.First().Statuses.First().Text); }
public void ProcessResults_Creates_List_Of_Status() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.NotNull(results.First().Statuses); Assert.True(results.First().Statuses.Any()); }
public void ProcessResults_Populates_Source() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.Equal(@"<a href=""http://www.csharp-station.com/"" rel=""nofollow"">C# Station</a>", results.First().Statuses.First().Source); }
public void ProcessResults_Populates_Status_MetaData() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.NotNull(results); Assert.Single(results); Search search = results.Single(); Assert.NotNull(search); List<Status> statuses = search.Statuses; Assert.NotNull(statuses); Assert.NotEmpty(statuses); Status status = search.Statuses.First(); Assert.NotNull(status); StatusMetaData metaData = status.MetaData; Assert.NotNull(metaData); Assert.Equal("recent", metaData.ResultType); Assert.Equal("en", metaData.IsoLanguageCode); }
public void ProcessResultsTest() { SearchRequestProcessor<Search> target = new SearchRequestProcessor<Search>(); XElement twitterResponse = XElement.Parse(m_testQueryResponse); IList actual = target.ProcessResults(twitterResponse); var result = actual.Cast<Search>().First(); Assert.AreEqual(2, result.Entries.Count); }
public void ProcessResults_Populates_Search_MetaData() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.NotNull(results); Assert.Single(results); Search search = results.Single(); Assert.NotNull(search); SearchMetaData metaData = search.SearchMetaData; Assert.NotNull(metaData); Assert.Equal(0.046m, metaData.CompletedIn); Assert.Equal(281604225014824960ul, metaData.MaxID); Assert.Equal(5ul, metaData.SinceID); Assert.Equal(10, metaData.Count); Assert.Equal("Twitter", metaData.Query); Assert.Equal( "?max_id=281562053162979328&q=Twitter&geocode=37.781157%2C-122.398720%2C1mi&include_entities=1", metaData.NextResults); Assert.Equal( "?since_id=281604225014824960&q=Twitter&geocode=37.781157%2C-122.398720%2C1mi&include_entities=1", metaData.RefreshUrl); }
public void ProcessResults_Handles_Response_With_No_Results() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> searches = searchProc.ProcessResults(EmptyResponse); Assert.NotNull(searches); Assert.Single(searches); var search = searches.Single(); Assert.NotNull(search); var results = search.Statuses; Assert.NotNull(results); Assert.Empty(results); }
public void ProcessResults_Populates_Entity_Media() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); List<MediaMention> media = results.First().Statuses[0].Entities.MediaMentions; Assert.NotNull(media); Assert.Equal(1, media.Count); MediaMention firstMedia = media.First(); Assert.Equal(155683816676134913ul, firstMedia.ID); Assert.Equal("http://p.twimg.com/AikZmz5CEAESBHD.jpg", firstMedia.MediaUrl); Assert.Equal("https://p.twimg.com/AikZmz5CEAESBHD.jpg", firstMedia.MediaUrlHttps); Assert.Equal("http://t.co/36MZIOyW", firstMedia.Url); Assert.Equal("pic.twitter.com/36MZIOyW", firstMedia.DisplayUrl); Assert.Equal("http://twitter.com/rschu/status/155683816671940609/photo/1", firstMedia.ExpandedUrl); Assert.Equal("photo", firstMedia.Type); Assert.NotNull(firstMedia.Sizes); Assert.Equal(5, firstMedia.Sizes.Count); PhotoSize firstSize = firstMedia.Sizes.First(); Assert.Equal("orig", firstSize.Type); Assert.Equal(1161, firstSize.Width); Assert.Equal(925, firstSize.Height); Assert.Equal("fit", firstSize.Resize); Assert.Equal(59, firstMedia.Start); Assert.Equal(79, firstMedia.End); }
public void ProcessResults_Populates_Entity_Hashtags() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); List<HashTagMention> hashes = results.First().Statuses[0].Entities.HashTagMentions; Assert.NotNull(hashes); Assert.Equal(3, hashes.Count); HashTagMention firstHash = hashes.First(); Assert.Equal("twitterapi", firstHash.Tag); Assert.Equal(89, firstHash.Start); Assert.Equal(100, firstHash.End); }
public void ProcessResults_Populates_CreatedAt() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.Equal( new DateTimeOffset(2012, 9, 6, 0, 10, 12, new TimeSpan(0, 0, 0)), results.First().Statuses.First().CreatedAt); }
public void ProcessResults_Instantiates_Entities() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); Assert.NotNull(results.First().Statuses.First().Entities); }
public void ProcessResults_Populates_Entity_Users() { var searchProc = new SearchRequestProcessor<Search> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List<Search> results = searchProc.ProcessResults(SearchJson); List<UserMention> users = results.First().Statuses[0].Entities.UserMentions; Assert.NotNull(users); Assert.Equal(1, users.Count); UserMention firstUser = users.First(); Assert.Equal("JoeMayo", firstUser.ScreenName); Assert.Equal("Joe Mayo", firstUser.Name); Assert.Equal(15411837ul, firstUser.Id); Assert.Equal(3, firstUser.Start); Assert.Equal(11, firstUser.End); }
public void ProcessResultsNextTest() { SearchRequestProcessor<Search> target = new SearchRequestProcessor<Search>(); XElement twitterResponse = XElement.Parse(m_testQueryResponse); IList actual = target.ProcessResults(twitterResponse); var result = actual.Cast<Search>().First(); Assert.AreEqual("http://search.twitter.com/search.atom?lang=en&max_id=1600414821&page=2&q=LINQ+to+Twitter&rpp=2", result.Next); }