public void JsonStringLocalizerTest_FuncWithArguments() { // Arrange var logger = new Mock<ILogger<JsonStringLocalizer>>(); var option = new TestOptionsManager<Anderman.JsonLocalization.DependencyInjection.LocalizationOptions>(); var mockTranslate = new Mock<ITranslater>(); mockTranslate.Setup(m => m.TryTranslateWord("Unknown", new CultureInfo("en-US"), CultureInfo.CurrentUICulture.Parent)).Returns("Onbekend"); var stringLocalizer = new JsonStringLocalizer("HomeController", MockCache(), logger.Object, option, mockTranslate.Object); // Act // Assert Assert.Equal("_{1|2}{a few words|more words|many words}", stringLocalizer["StringOptions", "_"]); Assert.Equal("_1a few words", stringLocalizer["StringOptions", "_", 0]); Assert.Equal("_2more words", stringLocalizer["StringOptions", "_", 1]); Assert.Equal("_2many words", stringLocalizer["StringOptions", "_", 2]); }
public void JsonStringLocalizerWithCultureTest_Func() { // Arrange var logger = new Mock<ILogger<JsonStringLocalizer>>(); var option = new TestOptionsManager<Anderman.JsonLocalization.DependencyInjection.LocalizationOptions>(); var mockTranslate = new Mock<ITranslater>(); mockTranslate.Setup(m => m.TryTranslateWord("Unknown", new CultureInfo("en-US"), CultureInfo.CurrentUICulture.Parent)).Returns("Onbekend"); var stringLocalizer = new JsonStringLocalizer("HomeController", MockCache(), logger.Object, option,mockTranslate.Object).WithCulture(CultureInfo.CurrentUICulture); // Act // Assert Assert.Equal("Culture specific", stringLocalizer["specific"]); Assert.Equal("Culture neutral", stringLocalizer["neutral"]); Assert.Equal("Culture Invariant", stringLocalizer["Invariant"]); Assert.True(stringLocalizer["Unknown"].ResourceNotFound); Assert.False(stringLocalizer["Unknown"].ResourceNotFound); }