Exemple #1
0
        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_IsPreStep()
        {
            Procedure  procedure  = new Procedure();
            ReportPart reportPart = new ReportPart();

            ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, reportPart);

            Assert.IsFalse(procedureStep.IsPreStep);
        }
        public void Test_Report_NullReportPart()
        {
            Procedure procedure = new Procedure();

            ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, null);

            Assert.IsNull(procedureStep.ReportPart);
            Assert.IsNull(procedureStep.Report);
        }
Exemple #7
0
        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);
        }
Exemple #9
0
        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());
        }
Exemple #12
0
        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_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_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_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_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_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_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_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_Report_NullReportPart()
        {
            Procedure procedure = new Procedure();

            ConcreteReportingProcedureStep procedureStep = new ConcreteReportingProcedureStep(procedure, null);

            Assert.IsNull(procedureStep.ReportPart);
            Assert.IsNull(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);
		}