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); }
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); } } }
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"); }
public static void ClassInitialize(TestContext testContext) { var badApiClient = new BadApiClient(); requiredTweets = badApiClient.GetAllTweetsAsync(BadApiClient.TestStartDate, BadApiClient.TestEndDate).Result; }