Esempio n. 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);
        }
Esempio n. 2
0
        public void Test_RevertCheckIn()
        {
            DateTime?now       = DateTime.Now;
            var      procedure = new Procedure {
                ProcedureCheckIn = new ProcedureCheckIn()
            };
            var regStep = new RegistrationProcedureStep(procedure);
            var staff   = TestStaffFactory.CreateStaff();

            procedure.CheckIn(staff, now);

            Assert.IsFalse(procedure.IsPreCheckIn);
            Assert.IsTrue(procedure.IsCheckedIn);
            Assert.IsFalse(procedure.IsCheckedOut);
            Assert.AreEqual(ActivityStatus.IP, regStep.State);
            Assert.IsNull(regStep.EndTime);

            procedure.RevertCheckIn();

            Assert.IsTrue(procedure.IsPreCheckIn);
            Assert.IsFalse(procedure.IsCheckedIn);
            Assert.IsFalse(procedure.IsCheckedOut);
            Assert.IsNull(procedure.ProcedureCheckIn.CheckInTime);
            Assert.IsNull(procedure.ProcedureCheckIn.CheckOutTime);

            // the registration step is not reverted
            Assert.AreEqual(ActivityStatus.IP, regStep.State);
            Assert.AreEqual(staff, regStep.PerformingStaff);
        }
Esempio n. 3
0
        public void Test_Schedule()
        {
            var procedure = new Procedure();
            var ps        = new RegistrationProcedureStep(procedure);
            var now       = DateTime.Now;
            var later     = now + TimeSpan.FromDays(3);

            Assert.IsNull(ps.Scheduling.StartTime);
            Assert.AreEqual(ProcedureStatus.SC, procedure.Status);
            Assert.AreEqual(ActivityStatus.SC, ps.State);

            procedure.Schedule(now);

            Assert.AreEqual(now.Truncate(DateTimePrecision.Minute), ps.Scheduling.StartTime);
            Assert.AreEqual(ProcedureStatus.SC, procedure.Status);
            Assert.AreEqual(ActivityStatus.SC, ps.State);

            procedure.Schedule(later);

            Assert.AreEqual(later.Truncate(DateTimePrecision.Minute), ps.Scheduling.StartTime);
            Assert.AreEqual(ProcedureStatus.SC, procedure.Status);
            Assert.AreEqual(ActivityStatus.SC, ps.State);
        }
Esempio n. 4
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);
		}
Esempio n. 5
0
		public void Test_Schedule()
		{
			var procedure = new Procedure();
			var ps = new RegistrationProcedureStep(procedure);
			var now = DateTime.Now;
			var later = now + TimeSpan.FromDays(3);

			Assert.IsNull(ps.Scheduling.StartTime);
			Assert.AreEqual(ProcedureStatus.SC, procedure.Status);
			Assert.AreEqual(ActivityStatus.SC, ps.State);

			procedure.Schedule(now);

			Assert.AreEqual(now.Truncate(DateTimePrecision.Minute), ps.Scheduling.StartTime);
			Assert.AreEqual(ProcedureStatus.SC, procedure.Status);
			Assert.AreEqual(ActivityStatus.SC, ps.State);

			procedure.Schedule(later);

			Assert.AreEqual(later.Truncate(DateTimePrecision.Minute), ps.Scheduling.StartTime);
			Assert.AreEqual(ProcedureStatus.SC, procedure.Status);
			Assert.AreEqual(ActivityStatus.SC, ps.State);
		}
Esempio n. 6
0
		public void Test_RevertCheckIn()
		{
			DateTime? now = DateTime.Now;
			var procedure = new Procedure { ProcedureCheckIn = new ProcedureCheckIn() };
			var regStep = new RegistrationProcedureStep(procedure);
			var staff = TestStaffFactory.CreateStaff();
			procedure.CheckIn(staff, now);

			Assert.IsFalse(procedure.IsPreCheckIn);
			Assert.IsTrue(procedure.IsCheckedIn);
			Assert.IsFalse(procedure.IsCheckedOut);
			Assert.AreEqual(ActivityStatus.IP, regStep.State);
			Assert.IsNull(regStep.EndTime);

			procedure.RevertCheckIn();

			Assert.IsTrue(procedure.IsPreCheckIn);
			Assert.IsFalse(procedure.IsCheckedIn);
			Assert.IsFalse(procedure.IsCheckedOut);
			Assert.IsNull(procedure.ProcedureCheckIn.CheckInTime);
			Assert.IsNull(procedure.ProcedureCheckIn.CheckOutTime);

			// the registration step is not reverted
			Assert.AreEqual(ActivityStatus.IP, regStep.State);
			Assert.AreEqual(staff, regStep.PerformingStaff);
		}