Exemple #1
0
        public async Task Read_YodaExampleUnsuccessfulResponse_ThrowsHttpRequestException(HttpStatusCode httpStatusCode)
        {
            SetupConfiguration();
            var messageHandler = MessageHandlerBuilder.GetResponseMessageHandler(httpStatusCode);
            var client         = new HttpClient(messageHandler);

            _mockHttpClientFactory.Setup(cf => cf.CreateClient(It.IsAny <string>()))
            .Returns(client);
            var translationClient = new YodaTranslationClient(_mockHttpClientFactory.Object, _httpClientConfiguration.Object);

            await Assert.ThrowsExceptionAsync <HttpRequestException>(() => translationClient.Read(_exampleYodaTranslationRequest));
        }
Exemple #2
0
        public async Task Read_YodaExampleSuccessfulResponse_HasCorrectTranslation()
        {
            SetupConfiguration();
            var messageHandler = MessageHandlerBuilder.GetSuccessfulResponseMessageHandler(_exampleYodaJsonResponse);
            var client         = new HttpClient(messageHandler);

            _mockHttpClientFactory.Setup(cf => cf.CreateClient(It.IsAny <string>()))
            .Returns(client);
            var translationClient = new YodaTranslationClient(_mockHttpClientFactory.Object, _httpClientConfiguration.Object);

            var response = await translationClient.Read(_exampleYodaTranslationRequest);

            Assert.AreEqual("Mr,  you gave.Tim a hearty meal,Made him die,  but unfortunately what he ate.", response.Contents.Translated);
        }
Exemple #3
0
        public async Task <YodaTranslationClient> GetTranslation(string originalText)
        {
            YodaTranslationClient yodaTranslationClient;

            try
            {
                using (var httpClient = new HttpClient())
                {
                    using (var response = await httpClient.GetAsync("https://api.funtranslations.com/translate/yoda.json?text=" + originalText))
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        yodaTranslationClient = JsonConvert.DeserializeObject <YodaTranslationClient>(apiResponse);
                    }
                }
            }
            catch (Exception)
            {
                //Return an empy yoda tranlation client
                yodaTranslationClient = new YodaTranslationClient();
            }

            return(yodaTranslationClient);
        }