Ejemplo n.º 1
0
        public static int FundingCapOn(this TrainingProgramme course, DateTime date)
        {
            //todo: would probably be better to return int? null or throw if out of range
            if (!course.IsActiveOn(date))
            {
                return(0);
            }

            var applicableFundingPeriod = course.FundingPeriods.FirstOrDefault(x => GetStatusOn(x.EffectiveFrom, x.EffectiveTo, date) == TrainingProgrammeStatus.Active);

            return(applicableFundingPeriod?.FundingCap ?? 0);
        }
        public void ThenTheCourseEffectiveDatesAreUsedToDetermineTheStatus(DateTime?courseStart, DateTime?courseEnd, DateTime effectiveDate, bool expectStatus)
        {
            //Arrange
            var course = new TrainingProgramme {
                EffectiveFrom = courseStart, EffectiveTo = courseEnd
            };

            //Act
            var result = course.IsActiveOn(effectiveDate);

            //Assert
            Assert.AreEqual(expectStatus, result);
        }
        public void ThenIfWithinCourseEffectiveRangeThenIsActive(DateTime?courseStart, DateTime?courseEnd, DateTime effectiveDate, bool expectIsActive)
        {
            //Arrange
            var course = new TrainingProgramme {
                EffectiveFrom = courseStart, EffectiveTo = courseEnd
            };

            //Act
            var result = course.IsActiveOn(effectiveDate);

            //Assert
            Assert.AreEqual(expectIsActive, result);
        }