Пример #1
0
        private static void ExportTweets(DateTime startDate, DateTime endDate, string csvFilePath)
        {
            // Export tweets to file
            int tweetCount = 0;
            var apiClient  = new BadApiClient();
            var stopWatch  = new Stopwatch();

            Console.WriteLine("Downloading tweets...");
            Console.WriteLine();
            stopWatch.Start();
            using (var csvStream = File.Open(csvFilePath, FileMode.Create, FileAccess.Write))
            {
                using (var csvWriter = new StreamWriter(csvStream, System.Text.Encoding.UTF8))
                {
                    csvWriter.WriteLine("\"ID\",\"Stamp\",\"Text\"");
                    foreach (var tweet in apiClient.GetAllTweets(startDate, endDate))
                    {
                        csvWriter.WriteLine("\"{0}\",\"{1:o}\",\"{2}\"", tweet.ID, tweet.Stamp, tweet.Text.Replace("\"", "\"\""));
                        tweetCount++;
                    }
                    csvWriter.Close();
                }
            }
            stopWatch.Stop();
            Console.WriteLine("Exported {0} tweets in {1} seconds to file:\n{2}", tweetCount, stopWatch.Elapsed.TotalSeconds, csvFilePath);
        }
Пример #2
0
        private static void ViewTweets(DateTime startDate, DateTime endDate)
        {
            // No CSV path = view tweets one at a time
            var apiClient = new BadApiClient();
            var stopWatch = new Stopwatch();

            Console.WriteLine("Downloading tweets...");
            Console.WriteLine();
            stopWatch.Start();
            var tweets = apiClient.GetAllTweetsAsync(startDate, endDate).Result;

            stopWatch.Stop();
            Console.WriteLine("Downloaded {0} tweets in {1} seconds", tweets.Count, stopWatch.Elapsed.TotalSeconds);
            Console.WriteLine();
            Console.WriteLine("Press a key to see next tweet. Esc to stop pausing between tweets.");
            bool waitForKeyBetweenTweets = true;

            foreach (var tweet in tweets)
            {
                Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.WriteLine("ID:\t{0}", tweet.ID);
                Console.WriteLine("Stamp:\t{0:o}", tweet.Stamp);
                Console.ResetColor();
                Console.WriteLine(tweet.Text);
                if (waitForKeyBetweenTweets || Console.KeyAvailable)
                {
                    var keyInfo = Console.ReadKey(true);
                    waitForKeyBetweenTweets = (keyInfo.Key != ConsoleKey.Escape);
                }
            }
        }
Пример #3
0
        public void NoTweets()
        {
            var badApiClient = new BadApiClient();
            var tweets       = badApiClient.GetAllTweetsAsync(
                DateTime.MinValue.ToUniversalTime(),
                DateTime.MinValue.ToUniversalTime()).Result;

            Assert.IsNotNull(tweets, "Tweets list is null");
            Assert.IsFalse(tweets.Any(), "Not expecting any tweets to be returned");
        }
Пример #4
0
        public static void ClassInitialize(TestContext testContext)
        {
            var badApiClient = new BadApiClient();

            requiredTweets = badApiClient.GetAllTweetsAsync(BadApiClient.TestStartDate, BadApiClient.TestEndDate).Result;
        }