public void ItShouldBePossibleToRemoveGroup()
		{
			var target = new NodeCache(_runner,TimeSpan.FromSeconds(10));
			target.AddGroup(new CacheGroupDefinition
			{
				Id = "test",
				Capped = 1000,
				ExpireAfter = TimeSpan.FromMilliseconds(500),
				RollingExpiration = true
			});
			target.Execute().Count();
			Assert.AreEqual(2, target.Groups.Count);

			target.RemoveGroup("test");
			target.Execute().Count();

			Assert.AreEqual(1, target.Groups.Count);
			Assert.IsFalse(target.Groups.ContainsKey("test"));
		}
		public void ItShouldBePossibleToAddUpdateItemToSpecificGroup()
		{
			var target = new NodeCache(_runner,TimeSpan.FromSeconds(10));
			target.AddGroup(new CacheGroupDefinition
			{
				Id = "testGroup",
				Capped = 1000,
				ExpireAfter = TimeSpan.FromMilliseconds(500),
				RollingExpiration = true
			});
			target.Execute().Count();
			target.AddOrUpdateItem("testId", "testValue", "testGroup");
			target.Execute().Count();

			var group = target.Groups["testGroup"];
			Assert.IsTrue(target.GetItems("testGroup").ContainsKey("testId"));
			var item = target.GetItems("testGroup")["testId"];
			Assert.AreEqual(group.ExpireAfter, item.ExpireAfter);
			Assert.AreEqual("testValue", item.Value);
		}
		public void ItShouldBePossibleToAddGroupUpdatingShouldThrow()
		{
			var target = new NodeCache(_runner,TimeSpan.FromSeconds(10));
			target.AddGroup(new CacheGroupDefinition
				{
					Id = "test",
					Capped = 1000,
					ExpireAfter = TimeSpan.FromMilliseconds(500),
					RollingExpiration = true
				});
			target.Execute().Count();

			Exception resultEx = null;
			try
			{
				target.AddGroup(new CacheGroupDefinition
				{
					Id = "test",
					Capped = 100,
					ExpireAfter = TimeSpan.FromMilliseconds(500),
					RollingExpiration = true
				});
			}
			catch (Exception ex)
			{
				resultEx = ex;
			}
			Assert.IsNotNull(resultEx);
		}