public void Backend_SchoolCalendarBackendHelper_SetDefaultTypes_Valid_Data_Should_Pass()
        {
            // Arrange
            var data   = new SchoolCalendarModel();
            var expect = false;

            // Act
            var result = SchoolCalendarBackendHelper.SetDefaultTypes(data);

            // Reset
            DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(expect, result.Modified, TestContext.TestName);
        }
        public void Backend_SchoolCalendarBackendHelper_SetDefaultTypes_Null_Data_Should_Fail()
        {
            // Arrange
            var data = new SchoolCalendarModel();

            data = null;

            var expect = data;

            // Act
            var result = SchoolCalendarBackendHelper.SetDefaultTypes(data);

            // Reset
            DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(expect, result, TestContext.TestName);
        }
        public void Backend_SchoolCalendarBackendHelper_SetDefaultTypes_Valid_Sun_Should_Pass()
        {
            // Arrange
            var date = DateTime.Parse("10/7/2018");
            var data = new SchoolCalendarModel(date);
            var dismissalSettings = SchoolDismissalSettingsBackend.Instance.GetDefault();

            // Act
            var result = SchoolCalendarBackendHelper.SetDefaultTypes(data);

            // Reset
            DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(dismissalSettings.SunStartType, result.DayStart, TestContext.TestName);

            Assert.AreEqual(dismissalSettings.SunEndType, result.DayEnd, TestContext.TestName);
        }
        public void Backend_SchoolCalendarBackendHelper_SetSchoolTime_DayStart_DayEnd_Late_Should_Return_Default()
        {
            // Arrange
            var data = new SchoolCalendarModel
            {
                DayStart = SchoolCalendarDismissalEnum.Late,
                DayEnd   = SchoolCalendarDismissalEnum.Late
            };

            var expect = data;

            // Act
            var result = SchoolCalendarBackendHelper.SetSchoolTime(data);

            // Reset
            DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(SchoolDismissalSettingsBackend.Instance.GetDefault().EndLate, result.TimeEnd, TestContext.TestName);

            Assert.AreEqual(SchoolDismissalSettingsBackend.Instance.GetDefault().StartLate, result.TimeStart, TestContext.TestName);
        }
        public void Backend_SchoolCalendarBackendHelper_SetSchoolTime_End_Unknown_Should_Return_Default()
        {
            // Arrange
            var data = new SchoolCalendarModel
            {
                DayStart = SchoolCalendarDismissalEnum.Early,
                DayEnd   = SchoolCalendarDismissalEnum.Unknown
            };

            var expect = data;

            // Act
            var result = SchoolCalendarBackendHelper.SetSchoolTime(data);

            // Reset
            DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(false, result.SchoolDay, TestContext.TestName);
            Assert.AreEqual(SchoolDismissalSettingsBackend.Instance.GetDefault().StartNormal, result.TimeStart, TestContext.TestName);
            Assert.AreEqual(SchoolDismissalSettingsBackend.Instance.GetDefault().EndNormal, result.TimeEnd, TestContext.TestName);
            Assert.AreEqual(TimeSpan.Zero, result.TimeDuration, TestContext.TestName);
        }