/// /// <summary> * returns true if this is the same phase, i.e. the /// * </summary> /// * <param name="lastphase"> the phase to compare with </param> /// * <param name="bExact"> if true, use startTime as hook, else compare stati /// * @return </param> /// public virtual bool isSamePhase(JDFJobPhase lastphase, bool bExact) { if (lastphase == null) { return(false); } if (bExact) { JDFDate startTime = getPhaseStartTime(); JDFDate lastStartTime = lastphase.getPhaseStartTime(); return(startTime != null && startTime.Equals(lastStartTime)); } if (!ContainerUtil.Equals(getStatus(), lastphase.getStatus())) { return(false); } if (!ContainerUtil.Equals(getStatusDetails(), lastphase.getStatusDetails())) { return(false); } if (!ContainerUtil.Equals(getIdentifier(), lastphase.getIdentifier())) { return(false); } return(true); }
public virtual void testMergeLastPhase() { JDFDoc d = new JDFDoc("JDF"); JDFAuditPool ap = d.getJDFRoot().getCreateAuditPool(); JDFPhaseTime pt = ap.setPhase(EnumNodeStatus.InProgress, "dummy", null, null); JDFJobPhase jp = di.createJobPhaseFromPhaseTime(pt); jp.setPhaseAmount(200); jp.setAmount(200); jp.setPhaseWaste(100); JDFDate d1 = jp.getPhaseStartTime(); JDFDoc doc = new JDFDoc(ElementName.DEVICEINFO); JDFDeviceInfo di2 = (JDFDeviceInfo)doc.getRoot(); JDFJobPhase jp2 = (JDFJobPhase)di2.copyElement(jp, null); jp2.setPhaseStartTime(new JDFDate()); StatusCounter.sleep(1000); jp2.setPhaseAmount(300); jp2.setPhaseWaste(30); jp2.setAmount(500); Assert.IsTrue(di2.mergeLastPhase(di)); Assert.AreEqual(d1, jp2.getPhaseStartTime()); Assert.AreEqual(130.0, jp2.getPhaseWaste(), 0.0); Assert.AreEqual(500.0, jp2.getPhaseAmount(), 0.0); Assert.AreEqual(500.0, jp2.getAmount(), 0.0); }