private void MutateCommon(MessageLearner learner, bool valid) { learner.ULN = 9999999999; learner.ULNSpecified = true; }
public void DoB48RuleWhenLearnerChangesTurns16AndProgramStartsAfter1Aug() { //arrange var ldObj = new MessageLearner() { DateOfBirth = new DateTime(2001, 12, 09), LearningDelivery = new MessageLearnerLearningDelivery[] { new MessageLearnerLearningDelivery() { AimType = 1, AimSeqNumber = 100, FworkCode = 549, ProgType = 2, PwayCode = 1, LearnAimRef = "ZPROG001", LearnStartDate = new DateTime(2017, 09, 15) }, new MessageLearnerLearningDelivery() { AimType = 2, AimSeqNumber = 100, FworkCode = 549, ProgType = 2, PwayCode = 1, LearnAimRef = "60005623", LearnStartDate = new DateTime(2017, 09, 15) }, new MessageLearnerLearningDelivery() { AimType = 1, AimSeqNumber = 100, FworkCode = 549, ProgType = 2, PwayCode = 3, LearnAimRef = "ZPROG001", LearnStartDate = new DateTime(2017, 06, 15) }, new MessageLearnerLearningDelivery() { AimType = 5, FworkCode = 548, ProgType = 2, PwayCode = 3, AimSeqNumber = 100, LearnAimRef = "sdf asdf", LearnStartDate = new DateTime(2017, 05, 15) }, new MessageLearnerLearningDelivery() { AimType = 1, FworkCode = 546, ProgType = 2, PwayCode = 1, AimSeqNumber = 100, LearnAimRef = "189213", LearnStartDate = new DateTime(2005, 08, 21) } } }; //act var results = _dob48Validator.Validate(ldObj); //assert Assert.False(results); }
public void MutateHEFCEOLASS(MessageLearner learner, bool valid) { MutateHEFCE(learner, valid); Helpers.MutateLearningDeliveryMonitoringLDMToNewCode(learner, LearnDelFAMCode.LDM_OLASS); }
private void SetSOF(MessageLearner learner) { var fam = learner.LearningDelivery[0].LearningDeliveryFAM.Where(s => s.LearnDelFAMType == LearnDelFAMType.SOF.ToString()).First(); fam.LearnDelFAMCode = ((int)LearnDelFAMCode.SOF_LA).ToString(); }
private void Mutate(MessageLearner learner, bool valid) { Helpers.MutateDOB(learner, valid, Helpers.AgeRequired.Exact15, Helpers.BasedOn.LearnDelStart, Helpers.MakeOlderOrYoungerWhenInvalid.Younger); Helpers.SetEndDates(learner.LearningDelivery[0], learner.LearningDelivery[0].LearnStartDate.AddDays(30), Helpers.SetAchDate.DoNotSetAchDate); }
private void Mutate16HigherLevelApprenticeship6Restart(MessageLearner learner, bool valid) { Mutate16HigherLevelApprenticeship6(learner, valid); Helpers.AddRestartFAMToLearningDelivery(learner); }
public void MutateShortPlannedHoursWithSOF(MessageLearner learner, bool valid) { MutateShortPlannedHours(learner, valid); SetSOF(learner); }
public bool Evaluate(MessageLearner learner) { return(_dd29Rule.Evaluate(learner) == "Y"); }
public static void MutateLearningDeliveryMonitoringLDMToNewCode(MessageLearner learner, LearnDelFAMCode code) { var fam = learner.LearningDelivery[0].LearningDeliveryFAM.Where(s => s.LearnDelFAMType == LearnDelFAMType.LDM.ToString()).First(); fam.LearnDelFAMCode = ((int)code).ToString("D3"); }
public IEnumerable <MessageLearnerLearningDeliveryLearningDeliveryFAM> Evaluate(MessageLearner learner) { return(learner?.LearningDelivery? .SelectMany(ld => ld.LearningDeliveryFAM) .Where(ldFAM => ldFAM.LearnDelFAMType == LearningDeliveryFAMTypeConstants.ACT.ToString())); }
public override LearningDeliveryStartDateRuleResult Evaluate(MessageLearner learner, MessageLearnerLearningDelivery learningDelivery) { var result = learner.DateOfBirth >= learningDelivery.LearnStartDate; return(CreateResult(result, "Error - ValidateLearnStartDate05")); }
private void Mutate115AndADay(MessageLearner learner, bool valid) { Helpers.MutateDOB(learner, valid, Helpers.AgeRequired.Less115, Helpers.BasedOn.AYStart, Helpers.MakeOlderOrYoungerWhenInvalid.OlderTwo); }
public void R105RuleWithNoOverlappingDates() { //arrange var learner = new MessageLearner() { LearningDelivery = new MessageLearnerLearningDelivery[] { new MessageLearnerLearningDelivery() { LearnAimRef = "", AimSeqNumber = 1, LearningDeliveryFAM = new MessageLearnerLearningDeliveryLearningDeliveryFAM[] { new MessageLearnerLearningDeliveryLearningDeliveryFAM() { LearnDelFAMCode = "1", LearnDelFAMType = "ACT", LearnDelFAMDateFrom = new DateTime(2017, 11, 01), LearnDelFAMDateTo = new DateTime(2017, 11, 09) }, new MessageLearnerLearningDeliveryLearningDeliveryFAM() { LearnDelFAMCode = "2", LearnDelFAMType = "ACT", LearnDelFAMDateFrom = new DateTime(2017, 11, 10), LearnDelFAMDateTo = new DateTime(2017, 11, 21) }, new MessageLearnerLearningDeliveryLearningDeliveryFAM() { LearnDelFAMCode = "1", LearnDelFAMType = "ABC" } } }, new MessageLearnerLearningDelivery() { LearnAimRef = "", AimSeqNumber = 2, LearningDeliveryFAM = new MessageLearnerLearningDeliveryLearningDeliveryFAM[] { new MessageLearnerLearningDeliveryLearningDeliveryFAM() { LearnDelFAMCode = "1", LearnDelFAMType = "ACT", LearnDelFAMDateFrom = new DateTime(2017, 11, 01), LearnDelFAMDateTo = new DateTime(2017, 11, 09) }, new MessageLearnerLearningDeliveryLearningDeliveryFAM() { LearnDelFAMCode = "3", LearnDelFAMType = "ACT", LearnDelFAMDateFrom = new DateTime(2017, 12, 10), LearnDelFAMDateTo = new DateTime(2017, 12, 21) }, } } } }; //act _r105RuleValidator.Validate(learner); //assert }
private void MutateCourseAndPlanEndDate(MessageLearner learner, bool valid) { learner.LearningDelivery[0].LearnAimRef = _dataCache.LearnAimFundingWithValidity(FundModel.NonFunded, LearnDelFAMCode.SOF_HEFCE, learner.LearningDelivery[0].LearnStartDate).LearnAimRef; learner.LearningDelivery[0].LearningDeliveryFAM[0].LearnDelFAMCode = ((int)LearnDelFAMCode.SOF_HEFCE).ToString(); MutatePlanEndDate(learner, valid); }
private void Mutate24TradeUnionAim(MessageLearner learner, bool valid) { learner.LearningDelivery[0].LearnAimRef = _cache.LearnAimWithCategory(LearnDelCategory.TradeUnion).LearnAimRef; Mutate24(learner, valid); }
public static void MoveEmploymentBeforeLearnStart(MessageLearner learner) { learner.LearnerEmploymentStatus[0].DateEmpStatApp = learner.LearningDelivery[0].LearnStartDate; learner.LearnerEmploymentStatus[0].DateEmpStatApp = learner.LearnerEmploymentStatus[0].DateEmpStatApp.AddDays(-40); }
private void Mutate16(MessageLearner learner, bool valid) { learner.LearningDelivery[0].LearnStartDate = DateTime.Parse("2014-AUG-01"); MutateCommon(learner, valid); }
public static void MutateDOB(MessageLearner learner, bool valid, AgeRequired ar, BasedOn whatTypeOfAge, MakeOlderOrYoungerWhenInvalid direction) { switch (whatTypeOfAge) { case BasedOn.SchoolAYStart: learner.DateOfBirth = DateTime.Parse(Helpers.ValueOrFunction("[AY|AUG|31]")); break; case BasedOn.AYStart: learner.DateOfBirth = DateTime.Parse(Helpers.ValueOrFunction("[AY|AUG|01]")); break; case BasedOn.EndAYYear: learner.DateOfBirth = DateTime.Parse(Helpers.ValueOrFunction("[AY|JUL|31]")); break; case BasedOn.LearnDelStart: learner.DateOfBirth = learner.LearningDelivery.Min(s => s.LearnStartDate); break; default: throw new NotImplementedException($"MutateDOB base date to compute age {whatTypeOfAge} has not been implementated"); } switch (ar) { case AgeRequired.Exact1Day: learner.DateOfBirth = learner.DateOfBirth.AddDays(-1); break; case AgeRequired.Exact4: learner.DateOfBirth = learner.DateOfBirth.AddYears(-4); break; case AgeRequired.Exact13: learner.DateOfBirth = learner.DateOfBirth.AddYears(-13); break; case AgeRequired.Exact15: learner.DateOfBirth = learner.DateOfBirth.AddYears(-15); break; case AgeRequired.Exact16: learner.DateOfBirth = learner.DateOfBirth.AddYears(-16); break; case AgeRequired.Exact18: learner.DateOfBirth = learner.DateOfBirth.AddYears(-18); break; case AgeRequired.Exact19: learner.DateOfBirth = learner.DateOfBirth.AddYears(-19); break; case AgeRequired.Exact24: learner.DateOfBirth = learner.DateOfBirth.AddYears(-24); break; case AgeRequired.Exact25: learner.DateOfBirth = learner.DateOfBirth.AddYears(-25); break; case AgeRequired.Less16And30Days: learner.DateOfBirth = learner.DateOfBirth.AddYears(-16); learner.DateOfBirth = learner.DateOfBirth.AddDays(-30); break; case AgeRequired.Less19: learner.DateOfBirth = learner.DateOfBirth.AddYears(-19); learner.DateOfBirth = learner.DateOfBirth.AddDays(1); break; case AgeRequired.Less24: learner.DateOfBirth = learner.DateOfBirth.AddYears(-24); learner.DateOfBirth = learner.DateOfBirth.AddDays(1); break; case AgeRequired.Less25: learner.DateOfBirth = learner.DateOfBirth.AddYears(-25); learner.DateOfBirth = learner.DateOfBirth.AddDays(1); break; case AgeRequired.Less100: learner.DateOfBirth = learner.DateOfBirth.AddYears(-100); learner.DateOfBirth = learner.DateOfBirth.AddDays(1); break; case AgeRequired.Less115: learner.DateOfBirth = learner.DateOfBirth.AddYears(-115); learner.DateOfBirth = learner.DateOfBirth.AddDays(1); break; case AgeRequired.More24: learner.DateOfBirth = learner.DateOfBirth.AddYears(-24); learner.DateOfBirth = learner.DateOfBirth.AddDays(-1); break; default: throw new NotImplementedException($"MutateDOB exact type of age required {ar} has not been implementated"); } if (!valid) { switch (direction) { case MakeOlderOrYoungerWhenInvalid.Older: learner.DateOfBirth = learner.DateOfBirth.AddDays(-1); break; case MakeOlderOrYoungerWhenInvalid.OlderTwo: learner.DateOfBirth = learner.DateOfBirth.AddDays(-2); break; case MakeOlderOrYoungerWhenInvalid.Younger: learner.DateOfBirth = learner.DateOfBirth.AddDays(1); break; case MakeOlderOrYoungerWhenInvalid.YoungerLots: learner.DateOfBirth = learner.DateOfBirth.AddDays(63); break; case MakeOlderOrYoungerWhenInvalid.NoChange: break; } } }
private void MutateLearningAim(MessageLearner learner) { learner.LearningDelivery[0].LearnAimRef = _dataCache.LearnAimFundingWithValidity(FundModel.Adult, LearnDelFAMCode.SOF_ESFA_Adult, learner.LearningDelivery[0].LearnStartDate).LearnAimRef; Helpers.AddOrChangeSourceOfFunding(learner.LearningDelivery[0], LearnDelFAMCode.SOF_ESFA_1619); }
internal static void RemoveLearnerFAM(MessageLearner learner, LearnerFAMType type) { var ifam = learner.LearnerFAM.Where(s => s.LearnFAMType != type.ToString()); learner.LearnerFAM = ifam.ToArray(); }
public void MutateWithSOF(MessageLearner learner, bool valid) { Mutate(learner, valid); SetSOF(learner); }
private void MutateLess24NVQLevel3(MessageLearner learner, bool valid) { Helpers.MutateDOB(learner, valid, Helpers.AgeRequired.Less24, Helpers.BasedOn.LearnDelStart, Helpers.MakeOlderOrYoungerWhenInvalid.NoChange); MutateNVQLevel3(learner, valid); }
private void MutateShortPlannedHours(MessageLearner learner, bool valid) { Mutate(learner, valid); learner.PlanLearnHours = 10; }
private void MutateNVQLevel3(MessageLearner learner, bool valid) { learner.LearningDelivery[0].LearnAimRef = "50104767"; }
private void MutateSOF108(MessageLearner learner, bool valid) { Helpers.AddOrChangeSourceOfFunding(learner.LearningDelivery[0], LearnDelFAMCode.SOF_LA); Mutate(learner, valid); }
private void Mutate24NVQLevel3(MessageLearner learner, bool valid) { MutateNVQLevel3(learner, valid); Mutate24(learner, valid); }
public void DoB48RuleForDoBIsNullSuccess() { //arrange var ldObj = new MessageLearner() { LearningDelivery = new MessageLearnerLearningDelivery[] { new MessageLearnerLearningDelivery() { AimType = 1, AimSeqNumber = 100, FworkCode = 549, ProgType = 2, PwayCode = 1, LearnAimRef = "ZPROG001", LearnStartDate = new DateTime(2011, 05, 15) }, new MessageLearnerLearningDelivery() { AimType = 2, AimSeqNumber = 100, FworkCode = 549, ProgType = 2, PwayCode = 1, LearnAimRef = "60005623", LearnStartDate = new DateTime(2011, 05, 15) }, new MessageLearnerLearningDelivery() { AimType = 1, AimSeqNumber = 100, FworkCode = 549, ProgType = 2, PwayCode = 3, LearnAimRef = "ZPROG001", LearnStartDate = new DateTime(2011, 06, 15) }, new MessageLearnerLearningDelivery() { AimType = 5, FworkCode = 548, ProgType = 2, PwayCode = 3, AimSeqNumber = 100, LearnAimRef = "sdf asdf", LearnStartDate = new DateTime(2011, 05, 15) }, new MessageLearnerLearningDelivery() { AimType = 1, FworkCode = 546, ProgType = 2, PwayCode = 1, AimSeqNumber = 100, LearnAimRef = "189213", LearnStartDate = new DateTime(2012, 08, 21) } } }; //act var results = _dob48Validator.Validate(ldObj); //assert Assert.True(results); }
private void Mutate24(MessageLearner learner, bool valid) { Helpers.MutateDOB(learner, valid, Helpers.AgeRequired.Less24, Helpers.BasedOn.LearnDelStart, Helpers.MakeOlderOrYoungerWhenInvalid.Older); }
private void Mutate19(MessageLearner learner, bool valid) { Helpers.MutateDOB(learner, valid, Helpers.AgeRequired.Exact19, Helpers.BasedOn.SchoolAYStart, Helpers.MakeOlderOrYoungerWhenInvalid.Younger); }
private MessageLearnerContactPreference GetMessageLearnerContactPreference(long contPrefCode, string contPrefType, MessageLearner parent = null) { MessageLearnerContactPreference messageLearnerContactPreference = new MessageLearnerContactPreference() { ContPrefCode = contPrefCode, ContPrefType = contPrefType, Parent = parent }; return(messageLearnerContactPreference); }