public void UniqueIdentifierProvider_Should_ReturnConcatKeyWithBothProvider() { IUniqueIdentifierProvider cpuBasedProvider = Substitute.For <IUniqueIdentifierProvider, CpuBasedIdentifierProvider>(); IUniqueIdentifierProvider hddBasedProvider = Substitute.For <IUniqueIdentifierProvider, HddBasedIdentifierProvider>(); const string cpuBasedKey = "cpuBasedKey"; const string hddBasedKey = "hddBasedKey"; cpuBasedProvider.Get().Returns(cpuBasedKey); hddBasedProvider.Get().Returns(hddBasedKey); // Registration order important! Register(hddBasedProvider); Register(cpuBasedProvider); LocalIocManager.ResolveAll <IUniqueIdentifierProvider>().BuildForAll().ShouldBe(hddBasedKey + cpuBasedKey); }
public BatchUploadService(IUniqueIdentifierProvider batchIdentifiers, IDateTimeProvider dateTime, IBlobClient blobClient, IPublishingResiliencePolicies resiliencePolicies, ILogger logger) { Guard.ArgumentNotNull(batchIdentifiers, nameof(batchIdentifiers)); Guard.ArgumentNotNull(blobClient, nameof(blobClient)); Guard.ArgumentNotNull(resiliencePolicies?.BlobClient, "resiliencePolicies.BlobClient"); Guard.ArgumentNotNull(dateTime, nameof(dateTime)); Guard.ArgumentNotNull(logger, nameof(logger)); _batchIdentifiers = batchIdentifiers; _blobClient = blobClient; _dateTime = dateTime; _blobResilience = resiliencePolicies.BlobClient; _logger = logger; }