public async Task Get_Sentiment_Analysis_Results_Using_TypedHttpClient()
        {
            var document1 = new Document {
                Id = "1", Text = "This is a really negative tweet", Language = "en-gb"
            };
            var document2 = new Document {
                Id = "2", Text = "This is a super positive great tweet", Language = "en-gb"
            };
            var document3 = new Document {
                Id = "3", Text = "This is another really super positive amazing tweet", Language = "en-gb"
            };

            var result1 = new DocumentAnalysis {
                Id = "1", Score = 0
            };
            var result2 = new DocumentAnalysis {
                Id = "2", Score = 0.7
            };
            var result3 = new DocumentAnalysis {
                Id = "3", Score = 0.9
            };

            var documents = new List <Document> {
                document1, document2, document3
            };
            var results = new AnalysisResult {
                Documents = new List <DocumentAnalysis> {
                    result1, result2, result3
                }
            };

            var fakeConfiguration = Substitute.For <IConfiguration>();

            var fakeHttpMessageHandler = new FakeHttpMessageHandler(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(JsonConvert.SerializeObject(results), Encoding.UTF8, "application/json")
            });

            var fakeHttpClient = new HttpClient(fakeHttpMessageHandler);

            var sut = new TextAnalyticsClient(fakeConfiguration, fakeHttpClient);

            var result = await sut.AnalyzeSentiment(documents);

            result.Documents.Count.ShouldBe(3);
            result.Documents.ShouldContain(f => f.Id == result1.Id && f.Score == result1.Score);
        }
        public async Task Get_Tweets_For_Hastag_Using_TypedHttpClient()
        {
            var tweet1 = new Tweet("1", "This is a really negative tweet");
            var tweet2 = new Tweet("2", "This is a super positive great tweet");
            var tweet3 = new Tweet("3", "This is another really super positive amazing tweet");

            var tweets = new List <Tweet> {
                tweet1, tweet2, tweet3
            };

            var fakeHttpMessageHandler = new FakeHttpMessageHandler(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(JsonConvert.SerializeObject(tweets), Encoding.UTF8, "application/json")
            });

            var fakeHttpClient = new HttpClient(fakeHttpMessageHandler);

            var sut = new TwitterClient(fakeHttpClient);

            var result = await sut.GetTimeline("wholeschool");

            result.Count.ShouldBe(3);
        }