Mercurial > hg > orthanc
comparison UnitTestsSources/MultiThreadingTests.cpp @ 2847:2da68edacab6
unit testing of SplitStudyJob
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 28 Sep 2018 19:17:04 +0200 |
parents | 218e2c864d1d |
children | 52b017d22a4f |
comparison
equal
deleted
inserted
replaced
2846:d386abc18133 | 2847:2da68edacab6 |
---|---|
1034 job.SetPermissive(true); | 1034 job.SetPermissive(true); |
1035 ASSERT_THROW(job.Step(), OrthancException); // Not started yet | 1035 ASSERT_THROW(job.Step(), OrthancException); // Not started yet |
1036 ASSERT_FALSE(job.HasTrailingStep()); | 1036 ASSERT_FALSE(job.HasTrailingStep()); |
1037 ASSERT_FALSE(job.IsTrailingStepDone()); | 1037 ASSERT_FALSE(job.IsTrailingStepDone()); |
1038 job.Start(); | 1038 job.Start(); |
1039 job.Step(); | 1039 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode()); |
1040 job.Step(); | 1040 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode()); |
1041 | 1041 |
1042 { | 1042 { |
1043 DummyUnserializer unserializer; | 1043 DummyUnserializer unserializer; |
1044 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | 1044 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); |
1045 } | 1045 } |
1571 study = lock.GetDicom().GetHasher().HashStudy(); | 1571 study = lock.GetDicom().GetHasher().HashStudy(); |
1572 series = lock.GetDicom().GetHasher().HashSeries(); | 1572 series = lock.GetDicom().GetHasher().HashSeries(); |
1573 } | 1573 } |
1574 | 1574 |
1575 { | 1575 { |
1576 ASSERT_THROW(SplitStudyJob(GetContext(), std::string("nope")), OrthancException); | 1576 std::string a, b, c; |
1577 | 1577 |
1578 SplitStudyJob job(GetContext(), study); | 1578 { |
1579 job.SetKeepSource(true); | 1579 ASSERT_THROW(SplitStudyJob(GetContext(), std::string("nope")), OrthancException); |
1580 job.AddSourceSeries(series); | 1580 |
1581 ASSERT_THROW(job.AddSourceSeries("nope"), OrthancException); | 1581 SplitStudyJob job(GetContext(), study); |
1582 job.SetOrigin(DicomInstanceOrigin::FromLua()); | 1582 job.SetKeepSource(true); |
1583 | 1583 job.AddSourceSeries(series); |
1584 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | 1584 ASSERT_THROW(job.AddSourceSeries("nope"), OrthancException); |
1585 ASSERT_TRUE(job.Serialize(s)); | 1585 job.SetOrigin(DicomInstanceOrigin::FromLua()); |
1586 } | 1586 job.Replace(DICOM_TAG_PATIENT_NAME, "hello"); |
1587 | 1587 job.Remove(DICOM_TAG_PATIENT_BIRTH_DATE); |
1588 { | 1588 ASSERT_THROW(job.Replace(DICOM_TAG_SERIES_DESCRIPTION, "nope"), OrthancException); |
1589 std::auto_ptr<IJob> job; | 1589 ASSERT_THROW(job.Remove(DICOM_TAG_SERIES_DESCRIPTION), OrthancException); |
1590 job.reset(unserializer.UnserializeJob(s)); | 1590 |
1591 | 1591 ASSERT_TRUE(job.GetTargetStudy().empty()); |
1592 SplitStudyJob& tmp = dynamic_cast<SplitStudyJob&>(*job); | 1592 a = job.GetTargetStudyUid(); |
1593 ASSERT_TRUE(tmp.IsKeepSource()); | 1593 ASSERT_TRUE(job.LookupTargetSeriesUid(b, series)); |
1594 ASSERT_EQ(study, tmp.GetSourceStudy()); | 1594 |
1595 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); | 1595 job.Start(); |
1596 //ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); | 1596 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode()); |
1597 ASSERT_EQ(JobStepCode_Success, job.Step().GetCode()); | |
1598 | |
1599 c = job.GetTargetStudy(); | |
1600 ASSERT_FALSE(c.empty()); | |
1601 | |
1602 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | |
1603 ASSERT_TRUE(job.Serialize(s)); | |
1604 } | |
1605 | |
1606 { | |
1607 std::auto_ptr<IJob> job; | |
1608 job.reset(unserializer.UnserializeJob(s)); | |
1609 | |
1610 SplitStudyJob& tmp = dynamic_cast<SplitStudyJob&>(*job); | |
1611 ASSERT_TRUE(tmp.IsKeepSource()); | |
1612 ASSERT_EQ(study, tmp.GetSourceStudy()); | |
1613 ASSERT_EQ(a, tmp.GetTargetStudyUid()); | |
1614 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); | |
1615 | |
1616 std::string s; | |
1617 ASSERT_EQ(c, tmp.GetTargetStudy()); | |
1618 ASSERT_FALSE(tmp.LookupTargetSeriesUid(s, "nope")); | |
1619 ASSERT_TRUE(tmp.LookupTargetSeriesUid(s, series)); | |
1620 ASSERT_EQ(b, s); | |
1621 | |
1622 ASSERT_FALSE(tmp.LookupReplacement(s, DICOM_TAG_STUDY_DESCRIPTION)); | |
1623 ASSERT_TRUE(tmp.LookupReplacement(s, DICOM_TAG_PATIENT_NAME)); | |
1624 ASSERT_EQ("hello", s); | |
1625 ASSERT_FALSE(tmp.IsRemoved(DICOM_TAG_PATIENT_NAME)); | |
1626 ASSERT_TRUE(tmp.IsRemoved(DICOM_TAG_PATIENT_BIRTH_DATE)); | |
1627 } | |
1597 } | 1628 } |
1598 } | 1629 } |
1599 | 1630 |
1600 | 1631 |
1601 TEST(JobsSerialization, Registry) | 1632 TEST(JobsSerialization, Registry) |