mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 18:52:08 +08:00
- 实现 ILocalizationManager 接口及 LocalizationManager 管理器 - 添加 ILocalizationTable 和 ILocalizationString 接口及其实现 - 创建 LocalizationConfig 配置类用于管理本地化行为 - 实现 ConditionalFormatter 和 PluralFormatter 内置格式化器 - 添加本地化文档包括 API 参考和使用指南 - 集成本地化系统到核心框架架构中
84 lines
2.1 KiB
C#
84 lines
2.1 KiB
C#
using GFramework.Core.Localization;
|
|
|
|
namespace GFramework.Core.Tests.Localization;
|
|
|
|
[TestFixture]
|
|
public class LocalizationTableTests
|
|
{
|
|
[Test]
|
|
public void GetRawText_ShouldReturnCorrectText()
|
|
{
|
|
// Arrange
|
|
var data = new Dictionary<string, string>
|
|
{
|
|
["test.key"] = "Test Value"
|
|
};
|
|
var table = new LocalizationTable("test", "eng", data);
|
|
|
|
// Act
|
|
var result = table.GetRawText("test.key");
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo("Test Value"));
|
|
}
|
|
|
|
[Test]
|
|
public void GetRawText_WithFallback_ShouldReturnFallbackValue()
|
|
{
|
|
// Arrange
|
|
var fallbackData = new Dictionary<string, string>
|
|
{
|
|
["test.key"] = "Fallback Value"
|
|
};
|
|
var fallbackTable = new LocalizationTable("test", "eng", fallbackData);
|
|
|
|
var data = new Dictionary<string, string>();
|
|
var table = new LocalizationTable("test", "zhs", data, fallbackTable);
|
|
|
|
// Act
|
|
var result = table.GetRawText("test.key");
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo("Fallback Value"));
|
|
}
|
|
|
|
[Test]
|
|
public void ContainsKey_ShouldReturnTrue_WhenKeyExists()
|
|
{
|
|
// Arrange
|
|
var data = new Dictionary<string, string>
|
|
{
|
|
["test.key"] = "Test Value"
|
|
};
|
|
var table = new LocalizationTable("test", "eng", data);
|
|
|
|
// Act
|
|
var result = table.ContainsKey("test.key");
|
|
|
|
// Assert
|
|
Assert.That(result, Is.True);
|
|
}
|
|
|
|
[Test]
|
|
public void Merge_ShouldOverrideExistingValues()
|
|
{
|
|
// Arrange
|
|
var data = new Dictionary<string, string>
|
|
{
|
|
["test.key"] = "Original Value"
|
|
};
|
|
var table = new LocalizationTable("test", "eng", data);
|
|
|
|
var overrides = new Dictionary<string, string>
|
|
{
|
|
["test.key"] = "Override Value"
|
|
};
|
|
|
|
// Act
|
|
table.Merge(overrides);
|
|
var result = table.GetRawText("test.key");
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo("Override Value"));
|
|
}
|
|
} |