public async void ConvertBitcoins_BitcoinsAPIServiceUnavailable_ReturnNegativeOne() { //Arrange var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.ServiceUnavailable, Content = new StringContent("problems...") }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var client = new HttpClient(handlerMock.Object); var converter = new ConverterSvc(client); //act var amount = await converter.ConvertBitcoin(5, ConverterSvc.Currency.USD); //Assert var expected = -1; Assert.Equal(expected, amount); }
public async void ConvertBitcoins_BitcoinsAPIServiceUnavailible_ReturnsNegativeOne() { //Given var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.ServiceUnavailable, Content = new StringContent("not working") }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ) .ReturnsAsync(response); var httpClient = new HttpClient(handlerMock.Object); var converter = new ConverterSvc(httpClient); //When var amount = await converter.ConvertBitcoins(ConverterSvc.Currency.USD, 5); //Then var expected = -1; AssemblyLoadEventArgs.Equals(expected, amount); }
private ConverterSvc GetMockBitcoinConverterService() { var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(MOCK_RESPONSE_JSON) }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var httpClient = new HttpClient(handlerMock.Object); var converter = new ConverterSvc(httpClient); return(converter); }
static async Task Main(string[] args) { var converter = new ConverterSvc(); while (true) { try { Console.Write("Coins: "); var coins = Double.Parse(Console.ReadLine()); Console.Write("Currency (USD, GBP, or EUR): "); var currency = (ConverterSvc.Currency)Enum.Parse(typeof(ConverterSvc.Currency), Console.ReadLine(), true); var amount = await converter.ConvertBitcoins(currency, coins); Console.WriteLine("{0} Bitcoins = {1} {2}", coins, amount, currency); } catch { //swallow } } }
public BitcoinConverterSvcShould() { mockConverter = GetMockBitcoinConverterService(); }