public void DemoOfGeneralUseOfGoogleTranslator() { var OriginalText = new Tuple <Language, string>(Language.English, "Hello World!"); ITRSTranslationService Translator = new GoogleTranslationAgent(TestHelper.MockILogger().Object); var Translations = Translator.TranslateAsync(OriginalText); Translations.Wait(); var r = Translations.Result; Assert.Equal(Enum.GetNames(typeof(Language)).Length, r.Length); }
public async Task TranslateAsync_ThrowsArgumentNullException_WhenStringToTranslateIsWhiteSpace() { //ARRANGE var mockILogger = TestHelper.MockILogger(); LoggedException.Logger = mockILogger.Object; ITRSTranslationService TranslatorToTest = new GoogleTranslationAgent(mockILogger.Object, TestHelper.GoogleAPIKey()); var args = new Tuple <Language, string>(Language.French, " "); //ACT & ASSERT await Assert.ThrowsAsync <IsNullOrWhiteSpaceException>(async() => await TranslatorToTest.TranslateAsync(args)); mockILogger.Verify(x => x.Error(It.IsAny <string>()), Times.Once); }
public async Task TranslateAsync_ThrowsArgumentOutOfRange_WhenFromLangueIsNotDefinedInEnum() { //ARRANGE var mockILogger = TestHelper.MockILogger(); LoggedException.Logger = mockILogger.Object; ITRSTranslationService TranslatorToTest = new GoogleTranslationAgent(mockILogger.Object, TestHelper.GoogleAPIKey()); var args = new Tuple <Language, string>((Language)50, "こんにちは"); //ACT & ASSERT await Assert.ThrowsAsync <LanguageNotSupportedException>(async() => await TranslatorToTest.TranslateAsync(args)); mockILogger.Verify(x => x.Error(It.IsAny <string>()), Times.Once); }
public async Task TranslateAsync_ShouldTranslate_WhenValidSentenceIsProvided(Tuple <Language, string> StringToTranslate, Tuple <Language, string> StringTranlated) { //ARRANGE var mockILogger = TestHelper.MockILogger(); LoggedException.Logger = mockILogger.Object; ITRSTranslationService TranslatorToTest = new GoogleTranslationAgent(mockILogger.Object, TestHelper.GoogleAPIKey()); //ACT var TranslatedSentence = await TranslatorToTest.TranslateAsync(StringToTranslate); //ASSERT Console.WriteLine($"Original: {StringToTranslate}"); Assert.Contains(TranslatedSentence, x => x.Item1 == StringTranlated.Item1); Assert.Equal(StringTranlated, TranslatedSentence.First(x => x.Item1 == StringTranlated.Item1)); //TO DO VERIFY OTHERS CTORS! mockILogger.Verify(x => x.Error(It.IsAny <string>()), Times.Never); }