Mercurial > hg > orthanc
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 { |