public void TestControllerJSONGenerationForMonth() { //Arrange MonthlySchedule item = new MonthlySchedule { RecurrenceType = MonthlySchedule.RecurrenceTypeEnum.Monthly, MonthlyTheNDaySelected = true, MonthlyTheNOccurrence = MonthlySchedule.MonthlyTheNOccurrenceEnum.Last, MonthlyTheNDayOfWeek = DayOfWeek.Friday, MonthlyTheNDayDayMonth = 1, RecurrenceStartDate = new System.DateTime(2019, 1, 25), RecurrenceEndAfterNSelected = true, RecurrenceEndAfterNOccurences = 100 }; ScheduleItem scheduleItem = new ScheduleItem { MonthlySchedule = item }; ScheduleItemController controller = new ScheduleItemController(); //Act item.ProcessFutureDates(); string json = controller.CreateJSON(scheduleItem); ScheduleItem processedItem = controller.ProcessJSON(json); //Assert Assert.IsTrue(json != null); Assert.AreEqual(processedItem.ScheduleItemType, "Monthly"); Assert.IsTrue(processedItem.DailySchedule == null); Assert.IsTrue(processedItem.WeeklySchedule == null); Assert.IsTrue(processedItem.MonthlySchedule != null); Assert.IsTrue(processedItem.YearlySchedule == null); }
public void TestControllerJSONGenerationForYear() { //Arrange int numberOfRecurrences = 10; YearlySchedule item = new YearlySchedule { RecurrenceType = YearlySchedule.RecurrenceTypeEnum.Yearly, YearlyEveryNYearsSelected = true, YearlyEveryNYears = 1, RecurrenceStartDate = DateTime.Now, RecurrenceEndAfterNSelected = true, RecurrenceEndAfterNOccurences = numberOfRecurrences }; ScheduleItem scheduleItem = new ScheduleItem { YearlySchedule = item }; ScheduleItemController controller = new ScheduleItemController(); //Act item.ProcessFutureDates(); string json = controller.CreateJSON(scheduleItem); ScheduleItem processedItem = controller.ProcessJSON(json); //Assert Assert.IsTrue(json != null); Assert.AreEqual(processedItem.ScheduleItemType, "Yearly"); Assert.IsTrue(processedItem.DailySchedule == null); Assert.IsTrue(processedItem.WeeklySchedule == null); Assert.IsTrue(processedItem.MonthlySchedule == null); Assert.IsTrue(processedItem.YearlySchedule != null); }
public void TestControllerJSONGenerationForNoSchedules() { try { //Arrange ScheduleItem scheduleItem = new ScheduleItem(); ScheduleItemController controller = new ScheduleItemController(); //Act string json = controller.CreateJSON(scheduleItem); } catch (Exception ex) { Assert.IsTrue(ex.InnerException.Message == "object has no types and cannot be processed"); } }
public void TestControllerJSONGenerationForMultipleSchedules() { try { //Arrange MonthlySchedule item = new MonthlySchedule { RecurrenceType = MonthlySchedule.RecurrenceTypeEnum.Monthly, MonthlyTheNDaySelected = true, MonthlyTheNOccurrence = MonthlySchedule.MonthlyTheNOccurrenceEnum.Last, MonthlyTheNDayOfWeek = DayOfWeek.Friday, MonthlyTheNDayDayMonth = 1, RecurrenceStartDate = new System.DateTime(2019, 1, 25), RecurrenceEndAfterNSelected = true, RecurrenceEndAfterNOccurences = 100 }; YearlySchedule item2 = new YearlySchedule { RecurrenceType = YearlySchedule.RecurrenceTypeEnum.Yearly, YearlyEveryNYearsSelected = true, YearlyEveryNYears = 1, RecurrenceStartDate = DateTime.Now, RecurrenceEndAfterNSelected = true, RecurrenceEndAfterNOccurences = 10 }; ScheduleItem scheduleItem = new ScheduleItem { MonthlySchedule = item, YearlySchedule = item2 }; ScheduleItemController controller = new ScheduleItemController(); //Act item.ProcessFutureDates(); string json = controller.CreateJSON(scheduleItem); } catch (Exception ex) { Assert.IsTrue(ex.InnerException.Message == "object has multiple types and cannot be processed"); } }
public void TestControllerJSONGenerationForWeek() { //Arrange WeeklySchedule item = new WeeklySchedule { RecurrenceType = WeeklySchedule.RecurrenceTypeEnum.Weekly, WeeklyEveryNWeeks = 1, WeeklyDayOfWeekSunday = true, WeeklyDayOfWeekMonday = false, WeeklyDayOfWeekTuesday = false, WeeklyDayOfWeekWednesday = false, WeeklyDayOfWeekThursday = false, WeeklyDayOfWeekFriday = false, WeeklyDayOfWeekSaturday = false, RecurrenceStartDate = new DateTime(2019, 3, 10), RecurrenceEndAfterNSelected = true, RecurrenceEndAfterNOccurences = 3 }; ScheduleItem scheduleItem = new ScheduleItem { WeeklySchedule = item }; ScheduleItemController controller = new ScheduleItemController(); //Act item.ProcessFutureDates(); string json = controller.CreateJSON(scheduleItem); ScheduleItem processedItem = controller.ProcessJSON(json); //Assert Assert.IsTrue(json != null); Assert.AreEqual(processedItem.ScheduleItemType, "Weekly"); Assert.IsTrue(processedItem.DailySchedule == null); Assert.IsTrue(processedItem.WeeklySchedule != null); Assert.IsTrue(processedItem.MonthlySchedule == null); Assert.IsTrue(processedItem.YearlySchedule == null); }