public void ThrowsWhenMultipleCacheProfilesWithSameNameAreAdded() { // Arrange var options = new MvcCacheOptions(); options.CacheProfiles.Add("HelloWorld", new CacheProfile { Duration = 10 }); // Act & Assert var ex = Assert.Throws<ArgumentException>( () => options.CacheProfiles.Add("HelloWorld", new CacheProfile { Duration = 5 })); Assert.Equal("An item with the same key has already been added.", ex.Message); }
private IServiceProvider GetServiceProvider(Dictionary<string, CacheProfile> cacheProfiles) { var serviceProvider = new Mock<IServiceProvider>(); var optionsAccessor = new Mock<IOptions<MvcCacheOptions>>(); var options = new MvcCacheOptions(); if (cacheProfiles != null) { foreach (var p in cacheProfiles) { options.CacheProfiles.Add(p.Key, p.Value); } } optionsAccessor.SetupGet(o => o.Options).Returns(options); serviceProvider .Setup(s => s.GetService(typeof(IOptions<MvcCacheOptions>))) .Returns(optionsAccessor.Object); return serviceProvider.Object; }