public void IsCorrectTranslation_ThrowsIsNullOrWhiteSpaceException_WhenSourceStringToTranslateIsNotProvided() { //ARRANGE var mockILogger = TestHelper.MakeILogger(); var mockITRSTranslationService = TestHelper.MakeITRSTranslationService(); LoggedException.Logger = mockILogger.Object; var translationUC = new TRSInternalServicesRole(mockILogger.Object, mockITRSTranslationService.Object); var MLSToCheck = new MultiLanguageString("Not a good translation", "Some wrong DutchString", " "); //ACT & ASSERT Assert.Throws <IsNullOrWhiteSpaceException>(() => translationUC.IsCorrectTranslation(TestHelper.FakeApiKey, MLSToCheck, Language.Dutch)); mockITRSTranslationService.Verify(x => x.TranslateAsync(It.IsAny <Tuple <Language, string> >()), Times.Never); mockILogger.Verify(x => x.Error(It.IsAny <string>()), Times.Once); }
public void IsCorrectTranslation_ThrowsIsNullOrWhiteSpaceException_WhenMultiLanguageStringIsNULL() { //ARRANGE var mockILogger = TestHelper.MakeILogger(); var mockITRSTranslationService = TestHelper.MakeITRSTranslationService(); LoggedException.Logger = mockILogger.Object; var translationUC = new TRSInternalServicesRole(mockILogger.Object, mockITRSTranslationService.Object); MultiLanguageString MLSToCheck = null; //ACT & ASSERT Assert.Throws <LoggedException>(() => translationUC.IsCorrectTranslation(TestHelper.FakeApiKey, MLSToCheck, Language.Dutch)); mockITRSTranslationService.Verify(x => x.TranslateAsync(It.IsAny <Tuple <Language, string> >()), Times.Never); mockILogger.Verify(x => x.Error(It.IsAny <ArgumentNullException>(), It.IsAny <string>()), Times.Once); }
public void IsCorrectTranslation_CallsOnceTranslator_When2LanguageNOTWellTranslated_PerformanceTest() { //ARRANGE var mockILogger = TestHelper.MakeILogger(); var mockITRSTranslationService = TestHelper.MakeITRSTranslationService(); var translationUC = new TRSInternalServicesRole(mockILogger.Object, mockITRSTranslationService.Object); var FrenchSource = "French Source String"; var MLSToCheck = new MultiLanguageString("blah blah blah...", FrenchSource, "blah blah blah..."); //ACT var translated = translationUC.IsCorrectTranslation(TestHelper.FakeApiKey, MLSToCheck, Language.French); //ASSERT Assert.False(translated); mockITRSTranslationService.Verify(x => x.TranslateAsync(It.IsAny <Tuple <Language, string> >()), Times.Once); }
public void IsCorrectTranslation_ReturnsFalse_When_FRENCH_IsNOT_WellTranslated() { //ARRANGE var mockILogger = TestHelper.MakeILogger(); var mockITRSTranslationService = TestHelper.MakeITRSTranslationService(); var translationUC = new TRSInternalServicesRole(mockILogger.Object, mockITRSTranslationService.Object); var FrenchSource = "French Source String"; var MLSToCheck = new MultiLanguageString(TestHelper.EnglishTranslated, FrenchSource, "Some wrong DutchString"); //ACT var translated = translationUC.IsCorrectTranslation(TestHelper.FakeApiKey, MLSToCheck, Language.French); //ASSERT Assert.False(translated); mockITRSTranslationService.Verify(x => x.TranslateAsync(It.IsAny <Tuple <Language, string> >()), Times.AtMost(Enum.GetNames(typeof(Language)).Count() - 1)); mockILogger.Verify(x => x.Error(It.IsAny <string>()), Times.Never); }
public void IsCorrectTranslation_ReturnsTrue_When_DUTCH_IS_WellTranslated() { //ARRANGE var mockILogger = TestHelper.MakeILogger(); var mockITRSTranslationService = TestHelper.MakeITRSTranslationService(); var translationUC = new TRSInternalServicesRole(mockILogger.Object, mockITRSTranslationService.Object); var DutchSource = "Dutch Source String"; var MLSToCheck = new MultiLanguageString(TestHelper.EnglishTranslated, TestHelper.FrenchTranslated, DutchSource); //ACT var translated = translationUC.IsCorrectTranslation(TestHelper.FakeApiKey, MLSToCheck, Language.Dutch); //ASSERT Assert.True(translated); mockITRSTranslationService.Verify(x => x.TranslateAsync(It.IsAny <Tuple <Language, string> >()), Times.Once); mockILogger.Verify(x => x.Error(It.IsAny <string>()), Times.Never); }