コード例 #1
0
        public async void ReturnZeroWhenServiceUnavailable()
        {
            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 httpClient = new HttpClient(handlerMock.Object);

            var converter = new BitcoinConverterService(httpClient);

            //act
            var amount = await converter.ConvertToUSD(1);

            //assert
            Assert.Equal(0, amount);
        }
コード例 #2
0
        private BitcoinConverterService GetBitcoinConverterService()
        {
            var handlerMock = new Mock <HttpMessageHandler>();
            var response    = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(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 BitcoinConverterService(httpClient);

            return(converter);
        }