コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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());
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
 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);
 }
コード例 #15
0
        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);
        }
コード例 #16
0
        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);
        }
コード例 #17
0
        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);
        }
コード例 #18
0
        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);
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        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);
        }
コード例 #21
0
        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);
        }
コード例 #22
0
 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);
 }