Пример #1
0
        public void CreateWeeklyEventDto_OneWeekInterval_Monday_NoEndDate_Success()
        {
            //Arrange
            var eventData = new WeeklySchedulerEventData
            {
                Interval    = 1,
                WeekDays    = WeekDaysFlags.Monday,
                StartDate   = new DateTime(2015, 2, 15, 20, 0, 0),
                EndDate     = null,
                RepeatCount = null
            };

            //Act
            _scheduler.ScheduleEvent(eventData, _eventsRepositoryMock.Object);

            //Assert
            Assert.IsNotNull(_event);
            Assert.IsNotEmpty(_event.EventData);
            Assert.AreEqual(1, _event.EventData.Count);
            CollectionAssert.AllItemsAreNotNull(_event.EventData);
            Assert.AreEqual(new DateTime(2015, 2, 16, 20, 0, 0).ToUniversalTime(), _event.EventData.First().StartDate);
            Assert.False(_event.EventData.First().EndDate.HasValue);
            Assert.AreEqual(7, _event.EventData.First().RepeatInterval);
            Assert.False(_event.EventData.First().RepeatWeekOfMonth.HasValue);
            Assert.False(_event.EventData.First().RepeatMonth.HasValue);
            Assert.False(_event.EventData.First().RepeatDay.HasValue);
            Assert.False(_event.EventData.First().RepeatDayOfWeek.HasValue);
        }
Пример #2
0
        public void CreateWeeklyEventDto_TreeWeekInterval_NoDayOfWeek_FixedEndDate_Success()
        {
            //Arrange
            var      startDate = new DateTime(2015, 2, 15, 20, 0, 0);
            DateTime?endDate   = new DateTime(2015, 5, 15, 20, 0, 0);
            var      eventData = new WeeklySchedulerEventData
            {
                Interval    = 3,
                WeekDays    = WeekDaysFlags.None,
                StartDate   = startDate,
                EndDate     = endDate,
                RepeatCount = null
            };

            //Act
            _scheduler.ScheduleEvent(eventData, _eventsRepositoryMock.Object);

            //Assert
            Assert.IsNotNull(_event);
            Assert.IsNotEmpty(_event.EventData);
            Assert.AreEqual(1, _event.EventData.Count);
            CollectionAssert.AllItemsAreNotNull(_event.EventData);
            Assert.AreEqual(startDate.ToUniversalTime(), _event.EventData.First().StartDate);
            Assert.IsTrue(_event.EventData.First().EndDate.HasValue);
            Assert.AreEqual(endDate.Value.ToUniversalTime(), _event.EventData.First().EndDate.Value);
            Assert.AreEqual(21, _event.EventData.First().RepeatInterval);
            Assert.False(_event.EventData.First().RepeatWeekOfMonth.HasValue);
            Assert.False(_event.EventData.First().RepeatMonth.HasValue);
            Assert.False(_event.EventData.First().RepeatDay.HasValue);
            Assert.False(_event.EventData.First().RepeatDayOfWeek.HasValue);
        }
Пример #3
0
        public void CreateWeeklyEventDto_ZeroAsNumberOfWeeks_Fails()
        {
            //Arrange
            var eventData = new WeeklySchedulerEventData
            {
                Interval    = 0,
                WeekDays    = WeekDaysFlags.Monday,
                StartDate   = new DateTime(2015, 2, 15, 20, 0, 0),
                EndDate     = null,
                RepeatCount = 3
            };

            //Act
            _scheduler.ScheduleEvent(eventData, _eventsRepositoryMock.Object);

            //Assert - attribute
        }
Пример #4
0
        public void CreateWeeklyEventDto_FixedRepeatCount_And_FixedEndDate_Fails()
        {
            //Arrange
            var eventData = new WeeklySchedulerEventData
            {
                Interval    = 3,
                WeekDays    = WeekDaysFlags.Monday,
                StartDate   = new DateTime(2015, 2, 16, 20, 0, 0),
                EndDate     = new DateTime(2015, 3, 15, 20, 0, 0),
                RepeatCount = 3
            };

            //Act
            _scheduler.ScheduleEvent(eventData, _eventsRepositoryMock.Object);

            //Assert - attribute
        }
Пример #5
0
        public void CreateWeeklyEventDto_TreeWeekInterval_MondayFriday_FixedEndDate_Success()
        {
            //Arrange
            var eventData = new WeeklySchedulerEventData
            {
                Interval    = 3,
                WeekDays    = WeekDaysFlags.Monday | WeekDaysFlags.Friday,
                StartDate   = new DateTime(2015, 2, 15, 20, 0, 0),
                EndDate     = new DateTime(2015, 5, 15, 20, 0, 0),
                RepeatCount = null
            };

            //Act
            _scheduler.ScheduleEvent(eventData, _eventsRepositoryMock.Object);

            //Assert
            Assert.IsNotNull(_event);
            Assert.IsNotEmpty(_event.EventData);
            Assert.AreEqual(2, _event.EventData.Count);
            CollectionAssert.AllItemsAreNotNull(_event.EventData);

            var expectedCollection = new List <EventTimeData>
            {
                new EventTimeData
                {
                    StartDate      = new DateTime(2015, 3, 2, 20, 0, 0).ToUniversalTime(),
                    EndDate        = new DateTime(2015, 5, 15, 20, 0, 0).ToUniversalTime(),
                    RepeatInterval = 21,
                },
                new EventTimeData
                {
                    StartDate      = new DateTime(2015, 3, 6, 20, 0, 0).ToUniversalTime(),
                    EndDate        = new DateTime(2015, 5, 15, 20, 0, 0).ToUniversalTime(),
                    RepeatInterval = 21,
                }
            };

            Assert.That(_event.EventData, Has.All.Matches <EventTimeData>(f => IsInExpected(f, expectedCollection)));
        }