| 123456789101112131415161718192021222324252627282930313233 |
- using YZWater.Core.Services;
- using Xunit;
- namespace YZWater.Core.Tests.Services;
- /// <summary>
- /// 退出确认框文案:确保中英两份字典都有键。
- /// Get() 对缺失键回退成键名本身,所以判据用"两种语言结果不同",
- /// 不能用"文本不等于键名"(["Cancel"] = "Cancel" 这类同义项是合法的)。
- /// </summary>
- [Collection("Language")]
- public class ExitConfirmTextTests : IDisposable
- {
- private static readonly string[] Keys = { "ExitConfirmTitle", "ExitConfirmMessage", "Confirm", "Cancel" };
- public void Dispose() => LanguageService.Instance.IsChinese = true;
- [Fact]
- public void ExitDialogKeys_ResolveToDifferentTextInBothLanguages()
- {
- foreach (var key in Keys)
- {
- LanguageService.Instance.IsChinese = true;
- var zh = LanguageService.Instance.Get(key);
- LanguageService.Instance.IsChinese = false;
- var en = LanguageService.Instance.Get(key);
- Assert.False(string.IsNullOrWhiteSpace(zh), $"{key} 中文文案为空");
- Assert.False(string.IsNullOrWhiteSpace(en), $"{key} 英文文案为空");
- Assert.NotEqual(zh, en);
- }
- }
- }
|