예제 #1
0
        public async Task PercentageWithPhotoUrls_IsOneHundred_WhenAllTweetsHavePhotoUrls()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetListWithAllEntities);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual((decimal)100.00, stats.PercentWithPhotoUrls);
        }
예제 #2
0
        public async Task PercentageWithEmojis_IsGreaterThanZero_WhenSomeTweetsHaveEmoji()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetListWithSomeEmoji);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual((decimal)33.33, stats.PercentWithEmoji);
        }
예제 #3
0
        public async Task PercentageWithPhotoUrls_IsGreaterThanZero_WhenSomeTweetsHavePhotoUrls()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual((decimal)75.00, stats.PercentWithPhotoUrls);
        }
예제 #4
0
        public async Task AvgTweetRates_TweetsPerSecond_IsGreaterThanZero()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.IsTrue(stats.AvgTweetRates.AvgTweetsPerSecond > 0);
        }
예제 #5
0
        public async Task PercentageWithEmojis_IsZero_WhenNoTweetsHaveEmoji()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(0, stats.PercentWithEmoji);
        }
예제 #6
0
        public async Task TopEmoji_IsEmpty_WhenNoTweetsHaveEmoji()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(0, stats.TopEmoji.Count);
        }
예제 #7
0
        public async Task TotalTweets()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(TestData.TweetList.Count, stats.Total);
        }
예제 #8
0
        public async Task TopHashtags_IsEmpty_WhenNoTweetsHaveAnyHastags()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetListWithoutEntities);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(0, stats.TopHashtags.Count);
        }
예제 #9
0
        public async Task PercentWithUrls_IsZero_WhenTweetsHaveNoUrls()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetListWithoutEntities);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(0, stats.PercentWithUrls);
        }
예제 #10
0
        public async Task TopHashtags_HasFewerThanThreeItems_WhenThereAreFewerThanThreeHashtags()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList.Take(2).ToList());
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(2, stats.TopHashtags.Count);
            Assert.AreEqual("Hashtag1", stats.TopHashtags[0]);
            Assert.AreEqual("Hashtag2", stats.TopHashtags[1]);
        }
예제 #11
0
        public async Task TopEmoji_HasMaxThreeItems_WhenThereAreMoreThanThreeEmoji()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, new List <Tweet> {
                TestData.TweetWithDifferentEmoji
            });
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(3, stats.TopEmoji.Count);
        }
예제 #12
0
        public async Task TopDomains_HasFewerThanThreeItems_WhenThereAreFewerThanThreeUrls()
        {
            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, TestData.TweetList.Take(2).ToList());
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(2, stats.TopDomains.Count);
            Assert.AreEqual("www.twitter.com", stats.TopDomains[0]);
            Assert.AreEqual("www.wwe.com", stats.TopDomains[1]);
        }
예제 #13
0
        public void WhenThereAreNoTweets_AllStatisticsAreDefaultValues()
        {
            var statsService = new TweetStatisticsService();
            var stats        = statsService.GetStatistics();

            Assert.AreEqual(0, stats.AvgTweetRates.AvgTweetsPerSecond);
            Assert.AreEqual(0, stats.AvgTweetRates.AvgTweetsPerMinute);
            Assert.AreEqual(0, stats.AvgTweetRates.AvgTweetsPerHour);
            Assert.AreEqual(0, stats.TopDomains.Count);
            Assert.AreEqual(0, stats.TopEmoji.Count);
            Assert.AreEqual(0, stats.TopHashtags.Count);
            Assert.AreEqual(0, stats.Total);
            Assert.AreEqual(0, stats.PercentWithEmoji);
            Assert.AreEqual(0, stats.PercentWithPhotoUrls);
            Assert.AreEqual(0, stats.PercentWithUrls);
        }
예제 #14
0
        public async Task TopEmoji_HasFewerThanThreeItems_WhenThereAreFewerThanThreeEmoji()
        {
            var tweetList = new List <Tweet> {
                new Tweet {
                    Data = new TweetData {
                        Text = "Tweet with 2 emoji 👍 📺"
                    }
                }
            };

            var statsService = new TweetStatisticsService();

            SetUpTweetList(statsService, tweetList);
            await statsService.UpdateStatisticsAsync();

            var stats = statsService.GetStatistics();

            Assert.AreEqual(2, stats.TopEmoji.Count);
        }