public void TestSet()
        {
            var factory = new DateTimeFactory();
            var dto     = factory.CreateDateTimeOffset(2017, 04, 12, 8, 9, 10, 130);

            Assert.AreEqual(dto.Set(12), factory.CreateDateTimeOffset(2017, 04, 12, 12));
            Assert.AreEqual(dto.Set(minute: 12), factory.CreateDateTimeOffset(2017, 04, 12, 0, 12));
            Assert.AreEqual(dto.Set(second: 12), factory.CreateDateTimeOffset(2017, 04, 12, 0, 0, 12));
        }
Beispiel #2
0
        public void TestCreateOverflow()
        {
            var factory = new DateTimeFactory {
                TimeZone = TimeZone
            };
            var result = factory.CreateDateTimeOffset(2012, 12, 30, 24, 90, 100);

            Assert.AreEqual("2012-12-31T01:31:40-06:00", result.ToString(Format));
            result = factory.CreateDateTimeOffset(2013, 1, 1, 0, 0, -30);
            Assert.AreEqual("2012-12-31T23:59:30-06:00", result.ToString(Format));
            result = factory.CreateDateTimeOffset(2018, 1, 24, 36, 80, -1000000);
            Assert.AreEqual("2018-01-13T23:33:20-06:00", result.ToString(Format));
        }
        public void TestSetTimeZone()
        {
            var factory  = new DateTimeFactory();
            var dto      = factory.CreateDateTimeOffset(2017, 03, 03);
            var timeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
            var offset   = timeZone.BaseUtcOffset - factory.TimeZone.BaseUtcOffset;
            var newDto   = dto.SetTimeZone(timeZone);

            Assert.AreEqual(dto.DateTime, newDto.DateTime);
            Assert.AreEqual(dto - newDto, offset);
        }
        public void TestIsWeekday()
        {
            var factory = new DateTimeFactory();
            var dto     = factory.CreateDateTimeOffset(2017, 12, 31);

            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Sunday);
            Assert.False(dto.DayOfWeek.IsWeekday());
            Assert.False(dto.IsWeekday());

            dto += TimeSpan.FromDays(1);
            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Monday);
            Assert.True(dto.DayOfWeek.IsWeekday());
            Assert.True(dto.IsWeekday());

            dto += TimeSpan.FromDays(1);
            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Tuesday);
            Assert.True(dto.DayOfWeek.IsWeekday());
            Assert.True(dto.IsWeekday());

            dto += TimeSpan.FromDays(1);
            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Wednesday);
            Assert.True(dto.DayOfWeek.IsWeekday());
            Assert.True(dto.IsWeekday());

            dto += TimeSpan.FromDays(1);
            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Thursday);
            Assert.True(dto.DayOfWeek.IsWeekday());
            Assert.True(dto.IsWeekday());

            dto += TimeSpan.FromDays(1);
            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Friday);
            Assert.True(dto.DayOfWeek.IsWeekday());
            Assert.True(dto.IsWeekday());

            dto += TimeSpan.FromDays(1);
            Assert.AreEqual(dto.DayOfWeek, DayOfWeek.Saturday);
            Assert.False(dto.DayOfWeek.IsWeekday());
            Assert.False(dto.IsWeekday());
        }