public async Task TestResourceMultiLanguageGenerator() { var lg = new ResourceMultiLanguageGenerator("test.lg"); // test targeted in each language Assert.AreEqual("english-us", await lg.GenerateAsync(GetDialogContext("en-us", lg), "${test()}", null)); Assert.AreEqual("english-us", await lg.GenerateAsync(GetDialogContext("en-us", lg), "${test()}", new { country = "us" })); Assert.AreEqual("english-gb", await lg.GenerateAsync(GetDialogContext("en-gb", lg), "${test()}", null)); Assert.AreEqual("english", await lg.GenerateAsync(GetDialogContext("en", lg), "${test()}", null)); Assert.AreEqual("default", await lg.GenerateAsync(GetDialogContext(string.Empty, lg), "${test()}", null)); Assert.AreEqual("default", await lg.GenerateAsync(GetDialogContext("foo", lg), "${test()}", null)); // test fallback for en-us -> en -> default //Assert.AreEqual("default2", await lg.Generate(GetTurnContext("en-us", lg), "${test2()}", null)); Assert.AreEqual("default2", await lg.GenerateAsync(GetDialogContext("en-gb", lg), "${test2()}", null)); Assert.AreEqual("default2", await lg.GenerateAsync(GetDialogContext("en", lg), "${test2()}", null)); Assert.AreEqual("default2", await lg.GenerateAsync(GetDialogContext(string.Empty, lg), "${test2()}", null)); Assert.AreEqual("default2", await lg.GenerateAsync(GetDialogContext("foo", lg), "${test2()}", null)); }
public async Task TestResourceMultiLanguageGenerator() { var lg = new ResourceMultiLanguageGenerator("test.lg"); // Configure last locale fallback to be non-overlapping with the explicitly set languages so we can // verify that when zero locale information is provided we default to it Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ar"); // test targeted in each language Assert.Equal("english-us", await lg.GenerateAsync(GetDialogContext("en-us", lg), "${test()}", null)); Assert.Equal("english-us", await lg.GenerateAsync(GetDialogContext("en-us", lg), "${test()}", new { country = "us" })); Assert.Equal("english-gb", await lg.GenerateAsync(GetDialogContext("en-gb", lg), "${test()}", null)); Assert.Equal("english", await lg.GenerateAsync(GetDialogContext("en", lg), "${test()}", null)); Assert.Equal("default", await lg.GenerateAsync(GetDialogContext(string.Empty, lg), "${test()}", null)); Assert.Equal("default", await lg.GenerateAsync(GetDialogContext("foo", lg), "${test()}", null)); // test fallback for en-us -> en -> default //Assert.Equal("default2", await lg.Generate(GetTurnContext("en-us", lg), "${test2()}", null)); Assert.Equal("default2", await lg.GenerateAsync(GetDialogContext("en-gb", lg), "${test2()}", null)); Assert.Equal("default2", await lg.GenerateAsync(GetDialogContext("en", lg), "${test2()}", null)); Assert.Equal("default2", await lg.GenerateAsync(GetDialogContext(string.Empty, lg), "${test2()}", null)); Assert.Equal("default2", await lg.GenerateAsync(GetDialogContext("foo", lg), "${test2()}", null)); }