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)