public void Test_CompleteProcedureStepFromInProgress() { Order order = TestOrderFactory.CreateOrder(1, 1, true); Procedure rp1 = CollectionUtils.FirstElement(order.Procedures); ModalityProcedureStep mps1 = rp1.ModalityProcedureSteps[0]; CheckStatus(ActivityStatus.SC, mps1); mps1.Start(TestStaffFactory.CreateStaff(new StaffTypeEnum("STEC", null, null))); CheckStatus(ActivityStatus.IP, mps1); mps1.Complete(); CheckStatus(ActivityStatus.CM, mps1); Assert.IsNotNull(mps1.StartTime); Assert.IsNotNull(mps1.EndTime); CheckStatus(ProcedureStatus.IP, rp1); Assert.IsNotNull(rp1.StartTime); Assert.IsNull(rp1.EndTime); CheckStatus(OrderStatus.IP, order); Assert.IsNotNull(order.StartTime); Assert.IsNull(order.EndTime); }
public void Test_IsPerformed() { var procedure = new Procedure(); var ps1 = new ModalityProcedureStep(procedure, "ps1", new Modality()); var ps2 = new ModalityProcedureStep(procedure, "ps2", new Modality()); var ps3 = new ModalityProcedureStep(procedure, "ps3", new Modality()); Assert.IsFalse(procedure.IsPerformed); ps1.Start(new Staff()); Assert.IsFalse(procedure.IsPerformed); ps1.Complete(Platform.Time); Assert.IsFalse(procedure.IsPerformed); ps2.Start(new Staff()); ps3.Start(new Staff()); Assert.IsFalse(procedure.IsPerformed); ps2.Discontinue(); Assert.IsFalse(procedure.IsPerformed); ps3.Complete(); Assert.IsTrue(procedure.IsPerformed); }
public void Test_PerformedTime() { var procedure = new Procedure(); var ps1 = new ModalityProcedureStep(procedure, "ps1", new Modality()); ps1.Start(new Staff()); ps1.Complete(Platform.Time); var ps2 = new ModalityProcedureStep(procedure, "ps2", new Modality()); ps2.Start(new Staff()); ps2.Complete(Platform.Time + TimeSpan.FromDays(1)); var ps3 = new ModalityProcedureStep(procedure, "ps3", new Modality()); ps3.Start(new Staff()); ps3.Complete(Platform.Time + TimeSpan.FromDays(2)); var ps4 = new ModalityProcedureStep(procedure, "ps4", new Modality()); ps4.Start(new Staff()); ps4.Complete(Platform.Time + TimeSpan.FromDays(3)); Assert.AreEqual(ps4.EndTime, procedure.PerformedTime); }