Mercurial > hg > orthanc-stone
comparison UnitTestsSources/SortedFramesTests.cpp @ 1599:73cd85d7da6a
SortedFrames::LookupSopInstanceUid()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 28 Oct 2020 10:55:45 +0100 |
parents | 4fb8fdf03314 |
children | 1704341bb96e |
comparison
equal
deleted
inserted
replaced
1598:8563ea5d8ae4 | 1599:73cd85d7da6a |
---|---|
90 tags.SetValue(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES, "3", false); | 90 tags.SetValue(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES, "3", false); |
91 f.AddInstance(tags); | 91 f.AddInstance(tags); |
92 tags.SetValue(Orthanc::DICOM_TAG_SOP_INSTANCE_UID, "sop2", false); | 92 tags.SetValue(Orthanc::DICOM_TAG_SOP_INSTANCE_UID, "sop2", false); |
93 tags.SetValue(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES, "2", false); | 93 tags.SetValue(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES, "2", false); |
94 f.AddInstance(tags); | 94 f.AddInstance(tags); |
95 | |
96 size_t i; | |
97 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop1")); ASSERT_EQ(1u, i); | |
98 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2")); ASSERT_EQ(2u, i); | |
99 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop3")); ASSERT_EQ(0u, i); | |
100 ASSERT_FALSE(f.LookupSopInstanceUid(i, "nope")); | |
95 | 101 |
96 f.Sort(); | 102 f.Sort(); |
97 ASSERT_EQ(3u, f.GetInstancesCount()); | 103 ASSERT_EQ(3u, f.GetInstancesCount()); |
98 ASSERT_EQ("sop3", f.GetSopInstanceUid(0)); | 104 ASSERT_EQ("sop3", f.GetSopInstanceUid(0)); |
99 ASSERT_EQ("sop1", f.GetSopInstanceUid(1)); | 105 ASSERT_EQ("sop1", f.GetSopInstanceUid(1)); |
103 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(1u, f.GetFrameIndex(1)); | 109 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(1)); ASSERT_EQ(1u, f.GetFrameIndex(1)); |
104 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(2u, f.GetFrameIndex(2)); | 110 ASSERT_EQ("sop1", f.GetFrameSopInstanceUid(2)); ASSERT_EQ(2u, f.GetFrameIndex(2)); |
105 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameIndex(3)); | 111 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(3)); ASSERT_EQ(0u, f.GetFrameIndex(3)); |
106 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(4)); ASSERT_EQ(1u, f.GetFrameIndex(4)); | 112 ASSERT_EQ("sop2", f.GetFrameSopInstanceUid(4)); ASSERT_EQ(1u, f.GetFrameIndex(4)); |
107 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(5)); ASSERT_EQ(0u, f.GetFrameIndex(5)); | 113 ASSERT_EQ("sop3", f.GetFrameSopInstanceUid(5)); ASSERT_EQ(0u, f.GetFrameIndex(5)); |
114 | |
115 // The instances must not have been reordered, only the frames | |
116 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop1")); ASSERT_EQ(1u, i); | |
117 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop2")); ASSERT_EQ(2u, i); | |
118 ASSERT_TRUE(f.LookupSopInstanceUid(i, "sop3")); ASSERT_EQ(0u, i); | |
119 ASSERT_FALSE(f.LookupSopInstanceUid(i, "nope")); | |
108 } | 120 } |
109 | 121 |
110 | 122 |
111 TEST(SortedFrames, SortInstanceNumber) | 123 TEST(SortedFrames, SortInstanceNumber) |
112 { | 124 { |
171 f.AddInstance(tags); | 183 f.AddInstance(tags); |
172 tags.SetValue(Orthanc::DICOM_TAG_SOP_INSTANCE_UID, "sop4", false); | 184 tags.SetValue(Orthanc::DICOM_TAG_SOP_INSTANCE_UID, "sop4", false); |
173 tags.Remove(Orthanc::DICOM_TAG_IMAGE_INDEX); | 185 tags.Remove(Orthanc::DICOM_TAG_IMAGE_INDEX); |
174 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "30", false); | 186 tags.SetValue(Orthanc::DICOM_TAG_INSTANCE_NUMBER, "30", false); |
175 f.AddInstance(tags); | 187 f.AddInstance(tags); |
176 | 188 |
177 f.Sort(); | 189 f.Sort(); |
178 ASSERT_EQ(4u, f.GetInstancesCount()); | 190 ASSERT_EQ(4u, f.GetInstancesCount()); |
179 ASSERT_EQ("sop1", f.GetSopInstanceUid(0)); | 191 ASSERT_EQ("sop1", f.GetSopInstanceUid(0)); |
180 ASSERT_EQ("sop2", f.GetSopInstanceUid(1)); | 192 ASSERT_EQ("sop2", f.GetSopInstanceUid(1)); |
181 ASSERT_EQ("sop3", f.GetSopInstanceUid(2)); | 193 ASSERT_EQ("sop3", f.GetSopInstanceUid(2)); |