public async Task AnimalFactsTests_FactsReturnsMultipleCorrectCount(FactSubject factSubject) { var multipleFacts = await _facts.GetFacts(new AnimalFactQuery(factSubject, 10)); Assert.IsNotNull(multipleFacts is IReadOnlyList <Fact>); Assert.IsTrue(multipleFacts.Count() == _fakeFacts.Count); }
public async Task AnimalFactsTests_FactsReturnsOne(FactSubject factSubject) { var oneFact = await _facts.GetFact(new AnimalFactQuery(factSubject, 10)); Assert.IsTrue(oneFact is Fact); Assert.IsNotNull(oneFact); Assert.IsTrue(_fakeFacts.Any(x => x.Id == oneFact.Id)); }
public static async Task WriteFacts(FactSubject subject, int repeatSeconds, ConsoleColor consoleColor) { AnimalFacts facts = new AnimalFacts(HttpClient); while (true) { var fact = await facts.GetFact(new AnimalFactQuery(subject)); Console.ForegroundColor = consoleColor; Console.WriteLine(fact.ToString(), consoleColor); await Task.Delay(TimeSpan.FromSeconds(repeatSeconds)); } }
public async Task AnimalFactsTests_HandlesExceptionReturnsNull(FactSubject factSubject) { var mockMessageHandler = new Mock <HttpMessageHandler>(); mockMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .ThrowsAsync(new Exception("No cat facts for you.")); _facts = new AnimalFacts(new HttpClient(mockMessageHandler.Object)); var oneFact = await _facts.GetFact(new AnimalFactQuery(factSubject, 10)); Assert.IsTrue(oneFact is null); }
public AnimalFactQuery(FactSubject subject, int amount = 1) { Subject = subject; Amount = amount; }