public async void TestSelfDeclarationRule(SelfDeclarationFlag declaration, bool expected) { Enrollee enrollee = new EnrolleeFactory().Generate(); UpdateSelfDeclaration(enrollee, declaration); var rule = new SelfDeclarationRule(); Assert.Equal(expected, await rule.ProcessRule(enrollee)); if (expected) { AssertReasons(enrollee.CurrentStatus.EnrolmentStatusReasons); } else { AssertReasons(enrollee.CurrentStatus.EnrolmentStatusReasons, StatusReasonType.SelfDeclaration); } }
private void UpdateSelfDeclaration(Enrollee enrollee, SelfDeclarationFlag declarations) { var updated = new List <SelfDeclaration>(); if (declarations.HasFlag(SelfDeclarationFlag.CONVICTION)) { updated.Add(GenerateSelfDeclaration(enrollee, 1)); } if (declarations.HasFlag(SelfDeclarationFlag.DISCIPLINARY)) { updated.Add(GenerateSelfDeclaration(enrollee, 3)); } if (declarations.HasFlag(SelfDeclarationFlag.PHARMANET_SUSPENDED)) { updated.Add(GenerateSelfDeclaration(enrollee, 2)); } if (declarations.HasFlag(SelfDeclarationFlag.REGISTRATION_SUSPENDED)) { updated.Add(GenerateSelfDeclaration(enrollee, 4)); } enrollee.SelfDeclarations = updated; }