comparison UnitTestsSources/MultiThreadingTests.cpp @ 2860:8b00e4cb4a6b

SetOfCommandsJob
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 05 Oct 2018 16:07:34 +0200
parents 52b017d22a4f
children 251614c2edac
comparison
equal deleted inserted replaced
2859:dedc2befbf41 2860:8b00e4cb4a6b
176 throw OrthancException(ErrorCode_InternalError); 176 throw OrthancException(ErrorCode_InternalError);
177 } 177 }
178 } 178 }
179 179
180 public: 180 public:
181 DummyInstancesJob(bool hasTrailingStep) : 181 DummyInstancesJob() :
182 SetOfInstancesJob(hasTrailingStep),
183 trailingStepDone_(false) 182 trailingStepDone_(false)
184 { 183 {
185 } 184 }
186 185
187 DummyInstancesJob(const Json::Value& value) : 186 DummyInstancesJob(const Json::Value& value) :
188 SetOfInstancesJob(value) 187 SetOfInstancesJob(value)
189 { 188 {
190 if (HasTrailingStep()) 189 if (HasTrailingStep())
191 { 190 {
192 trailingStepDone_ = (GetPosition() == GetStepsCount()); 191 trailingStepDone_ = (GetPosition() == GetCommandsCount());
193 } 192 }
194 else 193 else
195 { 194 {
196 trailingStepDone_ = false; 195 trailingStepDone_ = false;
197 } 196 }
859 { 858 {
860 return (CheckSameJson(a, b) && 859 return (CheckSameJson(a, b) &&
861 job.HasTrailingStep() == unserialized->HasTrailingStep() && 860 job.HasTrailingStep() == unserialized->HasTrailingStep() &&
862 job.GetPosition() == unserialized->GetPosition() && 861 job.GetPosition() == unserialized->GetPosition() &&
863 job.GetInstancesCount() == unserialized->GetInstancesCount() && 862 job.GetInstancesCount() == unserialized->GetInstancesCount() &&
864 job.GetStepsCount() == unserialized->GetStepsCount()); 863 job.GetCommandsCount() == unserialized->GetCommandsCount());
865 } 864 }
866 else 865 else
867 { 866 {
868 return false; 867 return false;
869 } 868 }
1025 Json::Value s; 1024 Json::Value s;
1026 1025
1027 // This tests SetOfInstancesJob 1026 // This tests SetOfInstancesJob
1028 1027
1029 { 1028 {
1030 DummyInstancesJob job(false); 1029 DummyInstancesJob job;
1031 job.SetDescription("description"); 1030 job.SetDescription("description");
1032 job.AddInstance("hello"); 1031 job.AddInstance("hello");
1033 job.AddInstance("nope"); 1032 job.AddInstance("nope");
1034 job.AddInstance("world"); 1033 job.AddInstance("world");
1035 job.SetPermissive(true); 1034 job.SetPermissive(true);
1603 1602
1604 ASSERT_TRUE(job.GetTargetStudy().empty()); 1603 ASSERT_TRUE(job.GetTargetStudy().empty());
1605 a = job.GetTargetStudyUid(); 1604 a = job.GetTargetStudyUid();
1606 ASSERT_TRUE(job.LookupTargetSeriesUid(b, series)); 1605 ASSERT_TRUE(job.LookupTargetSeriesUid(b, series));
1607 1606
1607 job.AddTrailingStep();
1608 job.Start(); 1608 job.Start();
1609 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode()); 1609 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode());
1610 ASSERT_EQ(JobStepCode_Success, job.Step().GetCode()); 1610 ASSERT_EQ(JobStepCode_Success, job.Step().GetCode());
1611 1611
1612 study2 = job.GetTargetStudy(); 1612 study2 = job.GetTargetStudy();
1661 ASSERT_THROW(job.AddSource("nope"), OrthancException); 1661 ASSERT_THROW(job.AddSource("nope"), OrthancException);
1662 job.SetOrigin(DicomInstanceOrigin::FromLua()); 1662 job.SetOrigin(DicomInstanceOrigin::FromLua());
1663 1663
1664 ASSERT_EQ(job.GetTargetStudy(), study); 1664 ASSERT_EQ(job.GetTargetStudy(), study);
1665 1665
1666 job.AddTrailingStep();
1666 job.Start(); 1667 job.Start();
1667 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode()); 1668 ASSERT_EQ(JobStepCode_Continue, job.Step().GetCode());
1668 ASSERT_EQ(JobStepCode_Success, job.Step().GetCode()); 1669 ASSERT_EQ(JobStepCode_Success, job.Step().GetCode());
1669 1670
1670 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); 1671 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job));
1717 TEST(JobsSerialization, TrailingStep) 1718 TEST(JobsSerialization, TrailingStep)
1718 { 1719 {
1719 { 1720 {
1720 Json::Value s; 1721 Json::Value s;
1721 1722
1722 DummyInstancesJob job(false); 1723 DummyInstancesJob job;
1723 ASSERT_EQ(0, job.GetStepsCount()); 1724 ASSERT_EQ(0, job.GetCommandsCount());
1724 ASSERT_EQ(0, job.GetInstancesCount()); 1725 ASSERT_EQ(0, job.GetInstancesCount());
1725 1726
1726 job.Start(); 1727 job.Start();
1727 ASSERT_EQ(0, job.GetPosition()); 1728 ASSERT_EQ(0, job.GetPosition());
1728 ASSERT_FALSE(job.HasTrailingStep()); 1729 ASSERT_FALSE(job.HasTrailingStep());
1746 } 1747 }
1747 1748
1748 { 1749 {
1749 Json::Value s; 1750 Json::Value s;
1750 1751
1751 DummyInstancesJob job(false); 1752 DummyInstancesJob job;
1752 job.AddInstance("hello"); 1753 job.AddInstance("hello");
1753 job.AddInstance("world"); 1754 job.AddInstance("world");
1754 ASSERT_EQ(2, job.GetStepsCount()); 1755 ASSERT_EQ(2, job.GetCommandsCount());
1755 ASSERT_EQ(2, job.GetInstancesCount()); 1756 ASSERT_EQ(2, job.GetInstancesCount());
1756 1757
1757 job.Start(); 1758 job.Start();
1758 ASSERT_EQ(0, job.GetPosition()); 1759 ASSERT_EQ(0, job.GetPosition());
1759 ASSERT_FALSE(job.HasTrailingStep()); 1760 ASSERT_FALSE(job.HasTrailingStep());
1786 } 1787 }
1787 1788
1788 { 1789 {
1789 Json::Value s; 1790 Json::Value s;
1790 1791
1791 DummyInstancesJob job(true); 1792 DummyInstancesJob job;
1792 ASSERT_EQ(1, job.GetStepsCount());
1793 ASSERT_EQ(0, job.GetInstancesCount()); 1793 ASSERT_EQ(0, job.GetInstancesCount());
1794 1794 ASSERT_EQ(0, job.GetCommandsCount());
1795 job.Start(); 1795 job.AddTrailingStep();
1796 ASSERT_EQ(0, job.GetInstancesCount());
1797 ASSERT_EQ(1, job.GetCommandsCount());
1798
1799 job.Start(); // This adds the trailing step
1796 ASSERT_EQ(0, job.GetPosition()); 1800 ASSERT_EQ(0, job.GetPosition());
1797 ASSERT_TRUE(job.HasTrailingStep()); 1801 ASSERT_TRUE(job.HasTrailingStep());
1798 ASSERT_FALSE(job.IsTrailingStepDone()); 1802 ASSERT_FALSE(job.IsTrailingStepDone());
1799 1803
1800 { 1804 {
1815 } 1819 }
1816 1820
1817 { 1821 {
1818 Json::Value s; 1822 Json::Value s;
1819 1823
1820 DummyInstancesJob job(true); 1824 DummyInstancesJob job;
1821 job.AddInstance("hello"); 1825 job.AddInstance("hello");
1822 ASSERT_EQ(2, job.GetStepsCount());
1823 ASSERT_EQ(1, job.GetInstancesCount()); 1826 ASSERT_EQ(1, job.GetInstancesCount());
1824 1827 ASSERT_EQ(1, job.GetCommandsCount());
1828 job.AddTrailingStep();
1829 ASSERT_EQ(1, job.GetInstancesCount());
1830 ASSERT_EQ(2, job.GetCommandsCount());
1831
1825 job.Start(); 1832 job.Start();
1833 ASSERT_EQ(2, job.GetCommandsCount());
1826 ASSERT_EQ(0, job.GetPosition()); 1834 ASSERT_EQ(0, job.GetPosition());
1827 ASSERT_TRUE(job.HasTrailingStep()); 1835 ASSERT_TRUE(job.HasTrailingStep());
1828 ASSERT_FALSE(job.IsTrailingStepDone()); 1836 ASSERT_FALSE(job.IsTrailingStepDone());
1829 1837
1830 { 1838 {