public void CalculateScoreShouldRaiseScoredEvent() { using (var serviceLocatorFixture = new ServiceLocatorFixture()) { // Setup SetupServiceLocatorFixture(serviceLocatorFixture); var events = new List <IDomainEvent>(); CommitEvent.RegisterAll(events.Add); // Exercise var patientGuid = CombGuid.NewCombGuid(); var assessmentDefinition = Substitute.For <AssessmentDefinition> (); var assessment = new AssessmentInstanceFactory().Create(assessmentDefinition, patientGuid, "TestName"); assessment.UpdateItem(new ItemDefinition(new CodedConcept(new CodeSystem("1", "1", "Test"), "1", "Test"), ItemType.Question, null), "true"); assessment.UpdateItem(new ItemDefinition(new CodedConcept(new CodeSystem("1", "1", "Test"), "2", "Test"), ItemType.Question, null), "false"); var drugAbuseScreeningTestScoringEngine = new DrugAbuseScreeningTestScoringEngine(); drugAbuseScreeningTestScoringEngine.CalculateScore(assessment); // Verify Assert.AreEqual(4, events.Count); var scoredEvent = events[3]; Assert.IsNotNull(scoredEvent); Assert.AreEqual(typeof(AssessmentScoredEvent), scoredEvent.GetType()); Assert.AreEqual((scoredEvent as AssessmentScoredEvent).Value, 1); Assert.AreEqual((scoredEvent as AssessmentScoredEvent).Guidance.Code, "guidance_0_to_2"); Assert.AreEqual(4, assessment.Version); } }
public void CalculateScoreShouldRaiseScoredEvent() { using (var serviceLocatorFixture = new ServiceLocatorFixture()) { // Setup SetupServiceLocatorFixture(serviceLocatorFixture); var events = new List <IDomainEvent>(); CommitEvent.RegisterAll(events.Add); // Exercise Guid defGuid = CombGuid.NewCombGuid(); Guid patientGuid = CombGuid.NewCombGuid(); var assessment = new AssessmentInstance(defGuid, patientGuid, "TestName"); assessment.UpdateItem("1", "true"); assessment.UpdateItem("2", "false"); var drugAbuseScreeningTestScoringEngine = new DrugAbuseScreeningTestScoringEngine(); drugAbuseScreeningTestScoringEngine.CalculateScore(assessment); // Verify Assert.AreEqual(4, events.Count); var scoredEvent = events[3]; Assert.IsNotNull(scoredEvent); Assert.AreEqual(typeof(AssessmentScoredEvent), scoredEvent.GetType()); Assert.AreEqual((scoredEvent as AssessmentScoredEvent).Value, 1); Assert.AreEqual((scoredEvent as AssessmentScoredEvent).Guidance.Code, "guidance_0_to_2"); Assert.AreEqual(4, assessment.Version); } }