Ejemplo n.º 1
0
        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);
        }