Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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
                }
            }
        }
Exemple #5
0
 public BitcoinConverterSvcShould()
 {
     mockConverter = GetMockBitcoinConverterService();
 }