public void Test_Schedule_PreStep_And_SchedulingOffset() { var procedure = new Procedure(new ProcedureType(), "111", "1.111"); var protocolStep = new ProtocolAssignmentStep(new Protocol(procedure)); procedure.AddProcedureStep(protocolStep); var registrationStep = new RegistrationProcedureStep(procedure); var modalityStep = new ModalityProcedureStep(procedure, "description", new Modality()); var documentationStep = new DocumentationProcedureStep(procedure); var reportingStep = new ConcreteReportingProcedureStep(procedure); Assert.IsNull(protocolStep.Scheduling.StartTime); Assert.IsNull(registrationStep.Scheduling.StartTime); Assert.IsNull(modalityStep.Scheduling.StartTime); Assert.IsNull(documentationStep.Scheduling.StartTime); Assert.IsNull(reportingStep.Scheduling.StartTime); var now = DateTime.Now; procedure.Schedule(now); Assert.AreEqual(now.Truncate(DateTimePrecision.Minute), procedure.ScheduledStartTime); Assert.AreEqual(protocolStep.CreationTime, protocolStep.Scheduling.StartTime); Assert.AreEqual(procedure.ScheduledStartTime, registrationStep.Scheduling.StartTime); Assert.AreEqual(procedure.ScheduledStartTime, modalityStep.Scheduling.StartTime); Assert.IsNull(documentationStep.Scheduling.StartTime); Assert.IsNull(reportingStep.Scheduling.StartTime); }
public void Test_GetRelatedProcedureSteps() { Procedure procedure = new Procedure(); Report report = new Report(procedure); ReportPart reportPart = new ReportPart(report, 1); // Testing that procedure steps with tied report will be related steps ConcreteReportingProcedureStep p1 = new ConcreteReportingProcedureStep(procedure, reportPart); ConcreteReportingProcedureStep p2 = new ConcreteReportingProcedureStep(procedure, reportPart); // expect that each ps is tied by common report Assert.AreEqual(report, p1.Report); Assert.AreEqual(report, p2.Report); Assert.Contains(p2, p1.GetRelatedProcedureSteps()); Assert.Contains(p1, p2.GetRelatedProcedureSteps()); // testing that proedure steps with null report will have no relatives p1 = new ConcreteReportingProcedureStep(procedure, null); p2 = new ConcreteReportingProcedureStep(procedure, null); // expect the each ps has no relatives Assert.IsEmpty(p1.GetRelatedProcedureSteps()); Assert.IsEmpty(p2.GetRelatedProcedureSteps()); // Testing that the relative has to be a report step GenericProtocolProcedureStep p3 = new GenericProtocolProcedureStep(new Protocol(procedure)); procedure.AddProcedureStep(p3); // expect that the related psteps are not related to the different step Assert.IsFalse(p3.GetRelatedProcedureSteps().Contains(p1)); Assert.IsFalse(p3.GetRelatedProcedureSteps().Contains(p2)); Assert.IsFalse(p1.GetRelatedProcedureSteps().Contains(p3)); Assert.IsFalse(p2.GetRelatedProcedureSteps().Contains(p3)); }
public void Test_IsPreStep() { Procedure procedure = new Procedure(); ReportPart reportPart = new ReportPart(); ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, reportPart); Assert.IsFalse(procedureStep.IsPreStep); }
public void Test_GetLinkedProcedures_ReportNull() { Procedure procedure = new Procedure(); ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, null); Assert.IsNull(procedureStep.ReportPart); Assert.IsNotNull(procedureStep.GetLinkedProcedures()); Assert.IsEmpty(procedureStep.GetLinkedProcedures()); }
public void Test_Report_NullReportPart() { Procedure procedure = new Procedure(); ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, null); Assert.IsNull(procedureStep.ReportPart); Assert.IsNull(procedureStep.Report); }
public void Test_DocumentationProcedureStep_Null() { var procedure = new Procedure(); var ps1 = new ConcreteProcedureStep(procedure); var ps2 = new ConcreteReportingProcedureStep(procedure); Assert.AreEqual(2, procedure.ProcedureSteps.Count); Assert.IsNull(procedure.DocumentationProcedureStep); }
public void Test_Report() { Procedure procedure = new Procedure(); ReportPart reportPart = new ReportPart(); ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, reportPart); Assert.IsNotNull(procedureStep.ReportPart); Assert.AreEqual(reportPart.Report, procedureStep.Report); }
public void Test_ReportingProcedureSteps() { var procedure = new Procedure(); var ps1 = new ConcreteReportingProcedureStep(procedure); var ps2 = new DocumentationProcedureStep(procedure); Assert.AreEqual(2, procedure.ProcedureSteps.Count); Assert.IsTrue(procedure.ReportingProcedureSteps.Contains(ps1)); Assert.AreEqual(1, procedure.ReportingProcedureSteps.Count); }
public void Test_Constructor() { Procedure procedure = new Procedure(); ReportPart reportPart = new ReportPart(); ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, reportPart); Assert.AreEqual(reportPart, procedureStep.ReportPart); // Passing in last procedure step into a new one ConcreteReportingProcedureStep nextStep = new ConcreteReportingProcedureStep(procedureStep); Assert.AreEqual(procedure, nextStep.Procedure); Assert.AreEqual(reportPart, nextStep.ReportPart); }
public void Test_GetLinkedProcedures() { Procedure procedure = new Procedure(); Procedure procedure2 = new Procedure(); Report report = new Report(procedure); report.Procedures.Add(procedure2); ReportPart reportPart = new ReportPart(report, 1); ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, reportPart); Assert.IsNotNull(procedureStep.ReportPart); Assert.IsNotNull(procedureStep.ReportPart.Report); Assert.AreEqual(2, procedureStep.ReportPart.Report.Procedures.Count); Assert.AreEqual(1, procedureStep.GetLinkedProcedures().Count); Assert.Contains(procedure2, procedureStep.GetLinkedProcedures()); }
public void Test_GetProcedureStep() { var procedure = new Procedure(); Assert.IsNull(procedure.GetProcedureStep(delegate { return(true); })); var ps1 = new DocumentationProcedureStep(procedure); var ps2 = new ModalityProcedureStep(procedure, "new Modality", new Modality()); var ps3 = new ModalityProcedureStep(procedure, "new Modality", new Modality()); var ps4 = new ConcreteReportingProcedureStep(procedure); Assert.IsNull(procedure.GetProcedureStep(delegate { return(false); })); Assert.AreEqual(ps1, procedure.GetProcedureStep(ps => ps is DocumentationProcedureStep)); Assert.AreEqual(ps2, procedure.GetProcedureStep(ps => ps is ModalityProcedureStep)); Assert.AreEqual(ps4, procedure.GetProcedureStep(ps => ps is ReportingProcedureStep)); Assert.IsNull(procedure.GetProcedureStep(ps => ps is ProtocolProcedureStep)); }
public void Test_GetProcedureStep() { var procedure = new Procedure(); Assert.IsNull(procedure.GetProcedureStep(delegate { return true; })); var ps1 = new DocumentationProcedureStep(procedure); var ps2 = new ModalityProcedureStep(procedure, "new Modality", new Modality()); var ps3 = new ModalityProcedureStep(procedure, "new Modality", new Modality()); var ps4 = new ConcreteReportingProcedureStep(procedure); Assert.IsNull(procedure.GetProcedureStep(delegate { return false; })); Assert.AreEqual(ps1, procedure.GetProcedureStep(ps => ps is DocumentationProcedureStep)); Assert.AreEqual(ps2, procedure.GetProcedureStep(ps => ps is ModalityProcedureStep)); Assert.AreEqual(ps4, procedure.GetProcedureStep(ps => ps is ReportingProcedureStep)); Assert.IsNull(procedure.GetProcedureStep(ps => ps is ProtocolProcedureStep)); }