예제 #1
0
        public void TimeSpan_Less_Than_One_Month_Should_Become_Valid_Relative_Expiration()
        {
            var e = Expiration.From(TimeSpan.FromSeconds(100));

            Assert.Equal(100u, e.Value);
            Assert.False(e.IsAbsolute);
            Assert.False(e.IsNever);
        }
예제 #2
0
        public void DateTime_MinValue_Should_Never_Expire()
        {
            var e = Expiration.From(DateTime.MaxValue);

            Assert.Equal(0u, e.Value);
            Assert.True(e.IsAbsolute);
            Assert.True(e.IsNever);
        }
예제 #3
0
        public void TimeSpan_MaxValue_Should_Never_Expire()
        {
            var e = Expiration.From(TimeSpan.MaxValue);

            Assert.Equal(0u, e.Value);
            Assert.True(e.IsAbsolute);
            Assert.True(e.IsNever);
        }
예제 #4
0
        public void DateTime_Value_Should_Become_Valid_Absolute_Expiration()
        {
            var e = Expiration.From(new DateTime(2012, 01, 31, 23, 0, 0, DateTimeKind.Utc));

            Assert.Equal(1328050800u, e.Value);
            Assert.True(e.IsAbsolute);
            Assert.False(e.IsNever);
        }
예제 #5
0
        public void Different_Relative_Instances_From_Same_TimeSpan_Must_Be_Equal()
        {
            var a = Expiration.From(TimeSpan.FromSeconds(100));
            var b = (Expiration)(TimeSpan.FromSeconds(100));

            Assert.True(a.Equals(a), "a = a");
            Assert.True(b.Equals(b), "b = b");

            Assert.True(a.Equals(b), "a = b");
            Assert.True(b.Equals(a), "b = a");
        }
예제 #6
0
        public void Different_Instances_From_Same_DateTime_Must_Be_Equal()
        {
            var a = Expiration.From(new DateTime(2012, 01, 31, 23, 0, 0, DateTimeKind.Utc));
            var b = (Expiration)(new DateTime(2012, 01, 31, 23, 0, 0, DateTimeKind.Utc));

            Assert.True(a.Equals(a), "a = a");
            Assert.True(b.Equals(b), "b = b");

            Assert.True(a.Equals(b), "a = b");
            Assert.True(b.Equals(a), "b = a");
        }
예제 #7
0
        public void TimeSpan_Greater_Than_One_Month_Should_Become_Valid_Absolute_Expiration()
        {
            var old = SystemTime.Now;

            SystemTime.Set(() => new DateTime(2011, 12, 31, 23, 0, 0, DateTimeKind.Utc));

            try
            {
                var e = Expiration.From(TimeSpan.FromDays(31));

                Assert.Equal(1328050800u, e.Value);
                Assert.True(e.IsAbsolute);
                Assert.False(e.IsNever);
            }
            finally
            {
                SystemTime.Set(old);
            }
        }
예제 #8
0
        public void Negative_TimeSpan_Should_Become_Valid_Absolute_Expiration()
        {
            var old = SystemTime.Now;

            SystemTime.Set(() => new DateTime(2011, 12, 31, 23, 0, 0, DateTimeKind.Utc));

            try
            {
                var e = Expiration.From(TimeSpan.FromSeconds(-10));

                Assert.Equal(1325372390u, e.Value);
                Assert.True(e.IsAbsolute);
                Assert.False(e.IsNever);
            }
            finally
            {
                SystemTime.Set(old);
            }
        }
예제 #9
0
        public void Different_Absolute_Instances_From_Same_TimeSpan_Must_Be_Equal()
        {
            var old = SystemTime.Now;

            SystemTime.Set(() => new DateTime(2011, 12, 31, 23, 0, 0, DateTimeKind.Utc));

            try
            {
                var a = Expiration.From(TimeSpan.FromDays(60));
                var b = (Expiration)(TimeSpan.FromDays(60));

                Assert.True(a.Equals(a), "a = a");
                Assert.True(b.Equals(b), "b = b");

                Assert.True(a.Equals(b), "a = b");
                Assert.True(b.Equals(a), "b = a");
            }
            finally
            {
                SystemTime.Set(old);
            }
        }