public void KeepDateTimeKind_WhenSplitting(DateTimeKind kind)
        {
            CalendarItem item = NewCalendarItem(
                new DateTime(2018, 12, 20, 0, 0, 0, kind),
                new DateTime(2019, 1, 5, 0, 0, 0, kind));

            CalendarItem[] result = item.MaybeSplit(2018).ToArray();

            result[0].StartDate.Kind.ShouldBe(kind);
            result[0].EndDate.Kind.ShouldBe(kind);
            result[1].StartDate.Kind.ShouldBe(kind);
            result[1].EndDate.Kind.ShouldBe(kind);
        }
Exemplo n.º 2
0
        public void SplitInTwo_WhenItemStartsDuringYearAndEndsAfterYear()
        {
            CalendarItem item = NewCalendarItem(
                new DateTime(2018, 12, 20),
                new DateTime(2019, 1, 5));

            CalendarItem[] result = item.MaybeSplit(2018).ToArray();

            result.Length.ShouldBe(2);
            result[0].Id.ShouldBe(item.Id);
            result[0].Title.ShouldBe(item.Title);
            result[0].StartDate.ShouldBe(item.StartDate);
            result[0].EndDate.ShouldBe(new DateTime(2018, 12, 31, 23, 59, 0));

            result[1].Id.ShouldBe(item.Id);
            result[1].Title.ShouldBe(item.Title);
            result[1].StartDate.ShouldBe(new DateTime(2019, 1, 1));
            result[1].EndDate.ShouldBe(item.EndDate);
        }
Exemplo n.º 3
0
        public void SplitInTwo_WhenItemStartsInPreviousYearAndEndsInCurrentYear()
        {
            CalendarItem item = NewCalendarItem(
                new DateTime(2017, 12, 31),
                new DateTime(2018, 1, 1, 23, 59, 59));

            CalendarItem[] result = item.MaybeSplit(2018).ToArray();

            result.Length.ShouldBe(2);
            result[0].Id.ShouldBe(item.Id);
            result[0].Title.ShouldBe(item.Title);
            result[0].StartDate.ShouldBe(item.StartDate);
            result[0].EndDate.ShouldBe(new DateTime(2017, 12, 31, 23, 59, 0));

            result[1].Id.ShouldBe(item.Id);
            result[1].Title.ShouldBe(item.Title);
            result[1].StartDate.ShouldBe(new DateTime(2018, 1, 1));
            result[1].EndDate.ShouldBe(item.EndDate);
        }