public void LanguageDecisionTests_CachingTest() { _mockLanguageParameterParser .Setup(expression: m => m.ParseLanguageParameter()) .Returns(value: new LanguageParameter { IsPresent = false }); _mockAppSettingsReader .SetupGet(m => m.DefaultLanguage) .Returns(value: "de"); DecideLanguageResult actual = _systemUnderTest.DecideLanguage(); Assert.NotNull(@object: actual); Assert.Equal(expected: "de", actual: actual.Language); actual = _systemUnderTest.DecideLanguage(); Assert.NotNull(@object: actual); Assert.Equal(expected: "de", actual: actual.Language); _mockAppSettingsReader .VerifyGet(v => v.DefaultLanguage, Times.Once); _mockLanguageParameterParser .Verify(v => v.ParseLanguageParameter(), Times.Once); }
public DecideLanguageResult DecideLanguage() { if (_cache != null) { return(_cache); } string language = AppSettingsReader.DefaultLanguage; LanguageParameter languageParameter = LanguageParameterParser.ParseLanguageParameter(); if (languageParameter.IsPresent) { language = languageParameter.Language; } if (language.IsFilled() && !LanguageToCultureMapping.Mappings.ContainsKey(key: language)) { Console.WriteLine(text: $"Language \"{language}\" not supported."); language = DefaultFallbackLanguage; } language = language.IsFilled() ? language : DefaultFallbackLanguage; return(_cache = new DecideLanguageResult { Language = language }); }
public string GetResourceStringById(string resourceIdent) { DecideLanguageResult languageDecision = LanguageDecision.DecideLanguage(); string mappedLanguageCulture = LanguageToCultureMapping.Mappings[key : languageDecision.Language]; System.Globalization.CultureInfo currentCultureInfo = CultureInfo.GetCultureInfo(culture: mappedLanguageCulture); return(ResourceManager.GetString( name: resourceIdent, cultureInfo: currentCultureInfo)); }
public void LanguageDecisionTests_Parameter_is_present_and_language_de_expect_de() { _mockLanguageParameterParser .Setup(expression: m => m.ParseLanguageParameter()) .Returns(value: new LanguageParameter { IsPresent = true, Language = "de" }); DecideLanguageResult actual = _systemUnderTest.DecideLanguage(); Assert.NotNull(@object: actual); Assert.Equal(expected: "de", actual: actual.Language); }
public void LanguageDecisionTests_Parameter_is_not_present_and_app_settings_has_de_expect_de() { _mockLanguageParameterParser .Setup(expression: m => m.ParseLanguageParameter()) .Returns(value: new LanguageParameter { IsPresent = false }); _mockAppSettingsReader .SetupGet(m => m.DefaultLanguage) .Returns(value: "de"); DecideLanguageResult actual = _systemUnderTest.DecideLanguage(); Assert.NotNull(@object: actual); Assert.Equal(expected: "de", actual: actual.Language); }
public void LanguageDecisionTests_Parameter_is_present_and_has_language_it_expect_en_and_console_not_supported_language() { _mockLanguageParameterParser .Setup(m => m.ParseLanguageParameter()) .Returns(new LanguageParameter { IsPresent = true, Language = "it" }); DecideLanguageResult actual = _systemUnderTest.DecideLanguage(); Assert.NotNull(@object: actual); Assert.Equal("en", actual.Language); _mockConsole .Verify(v => v.WriteLine("Language \"it\" not supported."), Times.Once); }
public void LanguageDecisionTests_appsetting_has_default_language_it_expect_en_and_console_not_supported_language() { _mockLanguageParameterParser .Setup(m => m.ParseLanguageParameter()) .Returns(new LanguageParameter { IsPresent = false }); _mockAppSettingsReader .SetupGet(m => m.DefaultLanguage) .Returns("it"); DecideLanguageResult actual = _systemUnderTest.DecideLanguage(); Assert.NotNull(@object: actual); Assert.Equal("en", actual.Language); _mockConsole .Verify(v => v.WriteLine("Language \"it\" not supported."), Times.Once); }