public void GetValueFailsWithExpiredItem()
        {
            // --- Arrange
            var cache = new TimeConstrainedCache<int, string>(TimeSpan.FromMilliseconds(100));
            cache.SetValue(1, "one");
            cache.SetValue(2, "two");
            Thread.Sleep(200);

            // --- Act
            cache.GetValue(2);
        }
        public void GetValueFailsWithNonExistingItem()
        {
            // --- Arrange
            var cache = new TimeConstrainedCache <int, string>();

            cache.SetValue(1, "one");
            cache.SetValue(2, "two");

            // --- Act
            cache.GetValue(3);
        }
        public void GetValueFailsWithExpiredItem()
        {
            // --- Arrange
            var cache = new TimeConstrainedCache <int, string>(TimeSpan.FromMilliseconds(100));

            cache.SetValue(1, "one");
            cache.SetValue(2, "two");
            Thread.Sleep(200);

            // --- Act
            cache.GetValue(2);
        }
        public void GetValueWorksAsExpected()
        {
            // --- Arrange
            var cache = new TimeConstrainedCache <int, string>();

            cache.SetValue(1, "one");
            cache.SetValue(2, "two");

            // --- Act
            var value = cache.GetValue(2);

            // --- Assert
            value.ShouldEqual("two");
        }
        public void GetValueFailsWithNonExistingItem()
        {
            // --- Arrange
            var cache = new TimeConstrainedCache<int, string>();
            cache.SetValue(1, "one");
            cache.SetValue(2, "two");

            // --- Act
            cache.GetValue(3);
        }
        public void RemoveWorksAsExpected()
        {
            // --- Arrange
            var cache = new TimeConstrainedCache<int, string>();
            cache.SetValue(1, "one");
            cache.SetValue(2, "two");

            // --- Act
            var value = cache.GetValue(2);
            cache.Remove(2);

            // --- Assert
            value.ShouldEqual("two");
            cache.Contains(2).ShouldBeFalse();
        }