示例#1
0
        public void ClampTest()
        {
            var m = new Moment(DateTime.Now);

            m.Clamp(m, m).Should().Be(m);
            m.Clamp(m + TimeSpan.FromSeconds(1), DateTime.MaxValue)
            .Should().Be(m + TimeSpan.FromSeconds(1));
            m.Clamp(DateTime.MinValue, m - TimeSpan.FromSeconds(1))
            .Should().Be(m - TimeSpan.FromSeconds(1));

            m = Moment.MinValue;
            m.ToDateTimeClamped().Should().Be(DateTime.MinValue.ToUniversalTime());
            m.ToDateTimeOffsetClamped().Should().Be(DateTimeOffset.MinValue.ToUniversalTime());
            m.ToString().Should().Be(new Moment(DateTime.MinValue).ToString());
            m = Moment.MaxValue;
            m.ToDateTimeClamped().Should().Be(DateTime.MaxValue.ToUniversalTime());
            m.ToDateTimeOffsetClamped().Should().Be(DateTimeOffset.MaxValue.ToUniversalTime());
            m.ToString().Should().Be(new Moment(DateTimeOffset.MaxValue).ToString());
        }