public void Add_Test()
 {
     _mockRepository.ReplayAll();
     var manager = new CacheStoreQuotaManager(_metadataProvider, null, _settings);
     manager.ItemAdded(new CacheItemMetadata(){ Domain = "d", Size = 5});
     Assert.AreEqual(5, manager.GrandTotal);
     Assert.AreEqual(1, manager.StorageMetadata.Count);
 }
		public void Add_Two_Test_NotRemove()
		{
			bool called = false;
			_mockRepository.ReplayAll();
			var manager = new CacheStoreQuotaManager(_metadataProvider, (i) => called=true, _settings);
			manager.ItemAdded(new CacheItemMetadata(){ Domain = "d", Size = 5});
			manager.ItemAdded(new CacheItemMetadata(){ Domain = "d", Size = 5});
			Assert.AreEqual(false, called);
		}
        public void Add_Two_Test_Call_remove()
        {
            bool called = false;
            _metadataProvider.Expect(x => x.GetEarliestAccessedItem("d")).Return(new CacheItemMetadata()
                                                                             	{
                                                                                    Domain = "d",
                                                                             		Size = 5
                                                                             	});
            _mockRepository.ReplayAll();

            var manager = new CacheStoreQuotaManager(_metadataProvider, (i) => called = true, _settings);
            manager.ItemAdded(new CacheItemMetadata() { Domain = "d", Size = 5});
            manager.ItemAdded(new CacheItemMetadata() { Domain = "d", Size = 6 });
            Thread.Sleep(1000);

            Assert.AreEqual(true, called);
            Assert.AreEqual(6, manager.GrandTotal);
            Assert.AreEqual(1, manager.StorageMetadata.Count);
        }