public TestCaseContext() { Options = AssetsOptions.Default; Descriptor = new AssetDescriptor { Key = "d", AssetPath = "root/d", AssetType = AssetType.Text }; Locale = Defaults.Locale; AssetBytes = new byte[] { 0x01, 0x02, 0x03 }; AssetDataStringEncoded = "AssetDataStringEncoded"; AssetDataBase64Encoded = "AssetDataBase64Encoded"; OptionsService = Mock.Of <IOptions <AssetsOptions> >(); Logger = Mock.Of <ILogger <AssetsManager> >(); AssetDescriptorsCache = Mock.Of <IAssetDescriptorsCache>(); StringEncoder = Mock.Of <IStringEncoder>(); Base64Encoder = Mock.Of <IBase64Encoder>(); TextAssetDataProcessor = Mock.Of <ITextAssetDataProcessor>(); DataService = Mock.Of <IAssetManagerDataService>(); Mock.Get(OptionsService).Setup( m => m.Value) .Returns(Options); Mock.Get(AssetDescriptorsCache).Setup( m => m.GetAssetDescriptor(It.IsAny <string>())) .Returns(Descriptor); Mock.Get(DataService).Setup( m => m.ReadAssetBytesAsync( Options.AssetsDir, It.IsAny <Asset>(), It.IsAny <CancellationToken>())) .ReturnsAsync(AssetBytes); Mock.Get(TextAssetDataProcessor).Setup( m => m.ProcessData(AssetBytes)) .Returns(AssetBytes); Mock.Get(StringEncoder).Setup( m => m.EncodeToString(AssetBytes)) .Returns(AssetDataStringEncoded); Mock.Get(Base64Encoder).Setup( m => m.Encode(AssetBytes)) .Returns(AssetDataBase64Encoded); }
public AssetsManager( IOptions <AssetsOptions> options, ILogger <AssetsManager> logger, IAssetDescriptorsCache assetDescriptorsCache, IStringEncoder stringEncoder, IBase64Encoder base64Encoder, ITextAssetDataProcessor textAssetDataProcessor, IAssetManagerDataService dataService) { this.options = options.Value ?? AssetsOptions.Default; this.logger = logger; this.assetDescriptorsCache = assetDescriptorsCache; this.stringEncoder = stringEncoder; this.base64Encoder = base64Encoder; this.textAssetDataProcessor = textAssetDataProcessor; this.dataService = dataService; }