using Util.Localization.Store.Samples; namespace Util.Localization.Store.Tests; /// /// 数据存储本地化资源查找器工厂测试 /// public class StoreStringLocalizerFactoryTest { /// /// 模拟本地化资源存储器 /// private readonly Mock _mockLocalizedStore; /// /// 本地化资源查找器工厂 /// private readonly IStringLocalizerFactory _localizerFactory; /// /// 测试初始化 /// public StoreStringLocalizerFactoryTest() { var mockOptions = new Mock>(); var mockLoggerFactory = new Mock(); mockLoggerFactory.Setup( t => t.CreateLogger( "Util.Localization.Store.StoreStringLocalizer" ) ).Returns( NullLogger.Instance ); _mockLocalizedStore = new Mock(); var mockMemoryCache = new Mock(); var mockCacheEntry = new Mock(); mockMemoryCache.Setup( t => t.CreateEntry( It.IsAny() ) ).Returns( mockCacheEntry.Object ); _localizerFactory = new StoreStringLocalizerFactory( mockOptions.Object,mockLoggerFactory.Object, _mockLocalizedStore.Object, mockMemoryCache.Object ); } /// /// 测试创建本地化资源查找器 - IStringLocalizer泛型版本返回类型 /// [Fact] public void TestCreate_1() { var localizer = _localizerFactory.Create( typeof( TestType ) ); var result = localizer["a"]; _mockLocalizedStore.Verify( t => t.GetValue( It.IsAny(), "TestType", It.IsAny() ) ); } /// /// 测试创建本地化资源查找器 - IStringLocalizer泛型版本返回类型 - LocalizedType特性 /// [Fact] public void TestCreate_2() { var localizer = _localizerFactory.Create( typeof( TestType2 ) ); var result = localizer["a"]; _mockLocalizedStore.Verify( t => t.GetValue( It.IsAny(), "test2", It.IsAny() ) ); } /// /// 测试创建本地化资源查找器 - 类型字符串 /// [Fact] public void TestCreate_3() { var localizer = _localizerFactory.Create( "type","" ); var result = localizer["a"]; _mockLocalizedStore.Verify( t => t.GetValue( It.IsAny(), "type", It.IsAny() ) ); } }