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); }