Mercurial > hg > orthanc
comparison UnitTestsSources/DatabaseLookupTests.cpp @ 3025:039a9d262d64 db-changes
preparing to speed up find in databases
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 17 Dec 2018 17:05:28 +0100 |
parents | 1723cbba55c7 |
children | fd587cf51a89 |
comparison
equal
deleted
inserted
replaced
3024:ef17a587e10d | 3025:039a9d262d64 |
---|---|
42 | 42 |
43 TEST(DatabaseLookup, SingleConstraint) | 43 TEST(DatabaseLookup, SingleConstraint) |
44 { | 44 { |
45 { | 45 { |
46 ASSERT_THROW(DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, | 46 ASSERT_THROW(DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, |
47 "HEL*LO", true), OrthancException); | 47 "HEL*LO", true, true), OrthancException); |
48 ASSERT_THROW(DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, | 48 ASSERT_THROW(DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, |
49 "HEL?LO", true), OrthancException); | 49 "HEL?LO", true, true), OrthancException); |
50 ASSERT_THROW(DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, | 50 ASSERT_THROW(DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, |
51 true), OrthancException); | 51 true, true), OrthancException); |
52 | 52 |
53 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, "HELLO", true); | 53 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, "HELLO", true, true); |
54 ASSERT_TRUE(tag.IsMatch("HELLO")); | 54 ASSERT_TRUE(tag.IsMatch("HELLO")); |
55 ASSERT_FALSE(tag.IsMatch("hello")); | 55 ASSERT_FALSE(tag.IsMatch("hello")); |
56 | 56 |
57 ASSERT_TRUE(tag.IsCaseSensitive()); | 57 ASSERT_TRUE(tag.IsCaseSensitive()); |
58 ASSERT_EQ(ConstraintType_Equal, tag.GetConstraintType()); | 58 ASSERT_EQ(ConstraintType_Equal, tag.GetType()); |
59 | |
60 ASSERT_FALSE(tag.HasTagInfo()); | |
61 ASSERT_THROW(tag.GetTagType(), OrthancException); | |
62 ASSERT_THROW(tag.GetLevel(), OrthancException); | |
63 | |
64 tag.SetTagInfo(DicomTagType_Identifier, ResourceType_Series); | |
65 ASSERT_TRUE(tag.HasTagInfo()); | |
66 ASSERT_EQ(DicomTagType_Identifier, tag.GetTagType()); | |
67 ASSERT_EQ(ResourceType_Series, tag.GetLevel()); | |
68 | 59 |
69 DicomMap m; | 60 DicomMap m; |
70 ASSERT_FALSE(tag.IsMatch(m)); | 61 ASSERT_FALSE(tag.IsMatch(m)); |
71 m.SetNullValue(DICOM_TAG_PATIENT_NAME); | 62 m.SetNullValue(DICOM_TAG_PATIENT_NAME); |
72 ASSERT_FALSE(tag.IsMatch(m)); | 63 ASSERT_FALSE(tag.IsMatch(m)); |
75 m.SetValue(DICOM_TAG_PATIENT_NAME, "HELLO", false /* string */); | 66 m.SetValue(DICOM_TAG_PATIENT_NAME, "HELLO", false /* string */); |
76 ASSERT_TRUE(tag.IsMatch(m)); | 67 ASSERT_TRUE(tag.IsMatch(m)); |
77 } | 68 } |
78 | 69 |
79 { | 70 { |
80 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, "HELlo", false); | 71 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Equal, "HELlo", false, true); |
81 ASSERT_TRUE(tag.IsMatch("HELLO")); | 72 ASSERT_TRUE(tag.IsMatch("HELLO")); |
82 ASSERT_TRUE(tag.IsMatch("hello")); | 73 ASSERT_TRUE(tag.IsMatch("hello")); |
83 | 74 |
84 ASSERT_EQ("HELlo", tag.GetValue()); | 75 ASSERT_EQ("HELlo", tag.GetValue()); |
85 } | 76 } |
86 | 77 |
87 { | 78 { |
88 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Wildcard, "HE*L?O", true); | 79 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Wildcard, "HE*L?O", true, true); |
89 ASSERT_TRUE(tag.IsMatch("HELLO")); | 80 ASSERT_TRUE(tag.IsMatch("HELLO")); |
90 ASSERT_TRUE(tag.IsMatch("HELLLLLO")); | 81 ASSERT_TRUE(tag.IsMatch("HELLLLLO")); |
91 ASSERT_TRUE(tag.IsMatch("HELxO")); | 82 ASSERT_TRUE(tag.IsMatch("HELxO")); |
92 ASSERT_FALSE(tag.IsMatch("hello")); | 83 ASSERT_FALSE(tag.IsMatch("hello")); |
93 } | 84 } |
94 | 85 |
95 { | 86 { |
96 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Wildcard, "HE*l?o", false); | 87 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_Wildcard, "HE*l?o", false, true); |
97 ASSERT_TRUE(tag.IsMatch("HELLO")); | 88 ASSERT_TRUE(tag.IsMatch("HELLO")); |
98 ASSERT_TRUE(tag.IsMatch("HELLLLLO")); | 89 ASSERT_TRUE(tag.IsMatch("HELLLLLO")); |
99 ASSERT_TRUE(tag.IsMatch("HELxO")); | 90 ASSERT_TRUE(tag.IsMatch("HELxO")); |
100 ASSERT_TRUE(tag.IsMatch("hello")); | 91 ASSERT_TRUE(tag.IsMatch("hello")); |
101 | 92 |
102 ASSERT_FALSE(tag.IsCaseSensitive()); | 93 ASSERT_FALSE(tag.IsCaseSensitive()); |
103 ASSERT_EQ(ConstraintType_Wildcard, tag.GetConstraintType()); | 94 ASSERT_EQ(ConstraintType_Wildcard, tag.GetType()); |
104 } | 95 } |
105 | 96 |
106 { | 97 { |
107 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_SmallerOrEqual, "123", true); | 98 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_SmallerOrEqual, "123", true, true); |
108 ASSERT_TRUE(tag.IsMatch("120")); | 99 ASSERT_TRUE(tag.IsMatch("120")); |
109 ASSERT_TRUE(tag.IsMatch("123")); | 100 ASSERT_TRUE(tag.IsMatch("123")); |
110 ASSERT_FALSE(tag.IsMatch("124")); | 101 ASSERT_FALSE(tag.IsMatch("124")); |
111 } | 102 ASSERT_TRUE(tag.IsMandatory()); |
112 | 103 } |
113 { | 104 |
114 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_GreaterOrEqual, "123", true); | 105 { |
106 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_GreaterOrEqual, "123", true, false); | |
115 ASSERT_FALSE(tag.IsMatch("122")); | 107 ASSERT_FALSE(tag.IsMatch("122")); |
116 ASSERT_TRUE(tag.IsMatch("123")); | 108 ASSERT_TRUE(tag.IsMatch("123")); |
117 ASSERT_TRUE(tag.IsMatch("124")); | 109 ASSERT_TRUE(tag.IsMatch("124")); |
118 } | 110 ASSERT_FALSE(tag.IsMandatory()); |
119 | 111 } |
120 { | 112 |
121 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_List, true); | 113 { |
114 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_List, true, true); | |
122 ASSERT_FALSE(tag.IsMatch("CT")); | 115 ASSERT_FALSE(tag.IsMatch("CT")); |
123 ASSERT_FALSE(tag.IsMatch("MR")); | 116 ASSERT_FALSE(tag.IsMatch("MR")); |
124 | 117 |
125 tag.AddValue("CT"); | 118 tag.AddValue("CT"); |
126 ASSERT_TRUE(tag.IsMatch("CT")); | 119 ASSERT_TRUE(tag.IsMatch("CT")); |
135 ASSERT_THROW(tag.GetValue(), OrthancException); | 128 ASSERT_THROW(tag.GetValue(), OrthancException); |
136 ASSERT_EQ(2u, tag.GetValues().size()); | 129 ASSERT_EQ(2u, tag.GetValues().size()); |
137 } | 130 } |
138 | 131 |
139 { | 132 { |
140 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_List, false); | 133 DicomTagConstraint tag(DICOM_TAG_PATIENT_NAME, ConstraintType_List, false, true); |
141 | 134 |
142 tag.AddValue("ct"); | 135 tag.AddValue("ct"); |
143 tag.AddValue("mr"); | 136 tag.AddValue("mr"); |
144 | 137 |
145 ASSERT_TRUE(tag.IsMatch("CT")); | 138 ASSERT_TRUE(tag.IsMatch("CT")); |
153 | 146 |
154 TEST(DatabaseLookup, FromDicom) | 147 TEST(DatabaseLookup, FromDicom) |
155 { | 148 { |
156 { | 149 { |
157 DatabaseLookup lookup; | 150 DatabaseLookup lookup; |
158 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_ID, "HELLO", true); | 151 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_ID, "HELLO", true, true); |
159 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 152 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
160 ASSERT_EQ(ConstraintType_Equal, lookup.GetConstraint(0).GetConstraintType()); | 153 ASSERT_EQ(ConstraintType_Equal, lookup.GetConstraint(0).GetType()); |
161 ASSERT_EQ("HELLO", lookup.GetConstraint(0).GetValue()); | 154 ASSERT_EQ("HELLO", lookup.GetConstraint(0).GetValue()); |
162 ASSERT_TRUE(lookup.GetConstraint(0).IsCaseSensitive()); | 155 ASSERT_TRUE(lookup.GetConstraint(0).IsCaseSensitive()); |
163 | 156 } |
164 ASSERT_TRUE(lookup.GetConstraint(0).HasTagInfo()); | 157 |
165 ASSERT_EQ(DicomTagType_Identifier, lookup.GetConstraint(0).GetTagType()); | 158 { |
166 ASSERT_EQ(ResourceType_Patient, lookup.GetConstraint(0).GetLevel()); | 159 DatabaseLookup lookup; |
167 } | 160 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_ID, "HELLO", false, true); |
168 | |
169 { | |
170 DatabaseLookup lookup; | |
171 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_ID, "HELLO", false); | |
172 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 161 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
173 | 162 |
174 // This is *not* a PN VR => "false" above is *not* used | 163 // This is *not* a PN VR => "false" above is *not* used |
175 ASSERT_TRUE(lookup.GetConstraint(0).IsCaseSensitive()); | 164 ASSERT_TRUE(lookup.GetConstraint(0).IsCaseSensitive()); |
176 } | 165 } |
177 | 166 |
178 { | 167 { |
179 DatabaseLookup lookup; | 168 DatabaseLookup lookup; |
180 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_NAME, "HELLO", true); | 169 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_NAME, "HELLO", true, true); |
181 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 170 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
182 ASSERT_TRUE(lookup.GetConstraint(0).IsCaseSensitive()); | 171 ASSERT_TRUE(lookup.GetConstraint(0).IsCaseSensitive()); |
183 } | 172 } |
184 | 173 |
185 { | 174 { |
186 DatabaseLookup lookup; | 175 DatabaseLookup lookup; |
187 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_NAME, "HELLO", false); | 176 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_NAME, "HELLO", false, true); |
188 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 177 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
189 | 178 |
190 // This is a PN VR => "false" above is used | 179 // This is a PN VR => "false" above is used |
191 ASSERT_FALSE(lookup.GetConstraint(0).IsCaseSensitive()); | 180 ASSERT_FALSE(lookup.GetConstraint(0).IsCaseSensitive()); |
192 } | 181 } |
193 | 182 |
194 { | 183 { |
195 DatabaseLookup lookup; | 184 DatabaseLookup lookup; |
196 lookup.AddDicomConstraint(DICOM_TAG_SERIES_DESCRIPTION, "2012-2016", false); | 185 lookup.AddDicomConstraint(DICOM_TAG_SERIES_DESCRIPTION, "2012-2016", false, true); |
197 | |
198 ASSERT_TRUE(lookup.GetConstraint(0).HasTagInfo()); | |
199 ASSERT_EQ(DicomTagType_Main, lookup.GetConstraint(0).GetTagType()); | |
200 ASSERT_EQ(ResourceType_Series, lookup.GetConstraint(0).GetLevel()); | |
201 | 186 |
202 // This is not a data VR | 187 // This is not a data VR |
203 ASSERT_EQ(ConstraintType_Equal, lookup.GetConstraint(0).GetConstraintType()); | 188 ASSERT_EQ(ConstraintType_Equal, lookup.GetConstraint(0).GetType()); |
204 } | 189 } |
205 | 190 |
206 { | 191 { |
207 DatabaseLookup lookup; | 192 DatabaseLookup lookup; |
208 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_BIRTH_DATE, "2012-2016", false); | 193 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_BIRTH_DATE, "2012-2016", false, true); |
209 | 194 |
210 // This is a data VR => range is effective | 195 // This is a data VR => range is effective |
211 ASSERT_EQ(2u, lookup.GetConstraintsCount()); | 196 ASSERT_EQ(2u, lookup.GetConstraintsCount()); |
212 | 197 |
213 ASSERT_TRUE(lookup.GetConstraint(0).GetConstraintType() != lookup.GetConstraint(1).GetConstraintType()); | 198 ASSERT_TRUE(lookup.GetConstraint(0).GetType() != lookup.GetConstraint(1).GetType()); |
214 | 199 |
215 for (size_t i = 0; i < 2; i++) | 200 for (size_t i = 0; i < 2; i++) |
216 { | 201 { |
217 ASSERT_TRUE(lookup.GetConstraint(i).GetConstraintType() == ConstraintType_SmallerOrEqual || | 202 ASSERT_TRUE(lookup.GetConstraint(i).GetType() == ConstraintType_SmallerOrEqual || |
218 lookup.GetConstraint(i).GetConstraintType() == ConstraintType_GreaterOrEqual); | 203 lookup.GetConstraint(i).GetType() == ConstraintType_GreaterOrEqual); |
219 } | 204 } |
220 } | 205 } |
221 | 206 |
222 { | 207 { |
223 DatabaseLookup lookup; | 208 DatabaseLookup lookup; |
224 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_BIRTH_DATE, "2012-", false); | 209 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_BIRTH_DATE, "2012-", false, true); |
225 | 210 |
226 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 211 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
227 ASSERT_EQ(ConstraintType_GreaterOrEqual, lookup.GetConstraint(0).GetConstraintType()); | 212 ASSERT_EQ(ConstraintType_GreaterOrEqual, lookup.GetConstraint(0).GetType()); |
228 ASSERT_EQ("2012", lookup.GetConstraint(0).GetValue()); | 213 ASSERT_EQ("2012", lookup.GetConstraint(0).GetValue()); |
229 } | 214 } |
230 | 215 |
231 { | 216 { |
232 DatabaseLookup lookup; | 217 DatabaseLookup lookup; |
233 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_BIRTH_DATE, "-2016", false); | 218 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_BIRTH_DATE, "-2016", false, true); |
234 | 219 |
235 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 220 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
236 ASSERT_EQ(DICOM_TAG_PATIENT_BIRTH_DATE, lookup.GetConstraint(0).GetTag()); | 221 ASSERT_EQ(DICOM_TAG_PATIENT_BIRTH_DATE, lookup.GetConstraint(0).GetTag()); |
237 ASSERT_EQ(ConstraintType_SmallerOrEqual, lookup.GetConstraint(0).GetConstraintType()); | 222 ASSERT_EQ(ConstraintType_SmallerOrEqual, lookup.GetConstraint(0).GetType()); |
238 ASSERT_EQ("2016", lookup.GetConstraint(0).GetValue()); | 223 ASSERT_EQ("2016", lookup.GetConstraint(0).GetValue()); |
239 } | 224 } |
240 | 225 |
241 { | 226 { |
242 DatabaseLookup lookup; | 227 DatabaseLookup lookup; |
243 lookup.AddDicomConstraint(DICOM_TAG_MODALITIES_IN_STUDY, "CT\\MR", false); | 228 lookup.AddDicomConstraint(DICOM_TAG_MODALITIES_IN_STUDY, "CT\\MR", false, true); |
244 | 229 |
245 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 230 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
246 ASSERT_EQ(DICOM_TAG_MODALITY, lookup.GetConstraint(0).GetTag()); | 231 ASSERT_EQ(DICOM_TAG_MODALITY, lookup.GetConstraint(0).GetTag()); |
247 ASSERT_EQ(ResourceType_Series, lookup.GetConstraint(0).GetLevel()); | 232 ASSERT_EQ(ConstraintType_List, lookup.GetConstraint(0).GetType()); |
248 ASSERT_EQ(ConstraintType_List, lookup.GetConstraint(0).GetConstraintType()); | |
249 | 233 |
250 const std::set<std::string>& values = lookup.GetConstraint(0).GetValues(); | 234 const std::set<std::string>& values = lookup.GetConstraint(0).GetValues(); |
251 ASSERT_EQ(2u, values.size()); | 235 ASSERT_EQ(2u, values.size()); |
252 ASSERT_TRUE(values.find("CT") != values.end()); | 236 ASSERT_TRUE(values.find("CT") != values.end()); |
253 ASSERT_TRUE(values.find("MR") != values.end()); | 237 ASSERT_TRUE(values.find("MR") != values.end()); |
254 ASSERT_TRUE(values.find("nope") == values.end()); | 238 ASSERT_TRUE(values.find("nope") == values.end()); |
255 } | 239 } |
256 | 240 |
257 { | 241 { |
258 DatabaseLookup lookup; | 242 DatabaseLookup lookup; |
259 lookup.AddDicomConstraint(DICOM_TAG_STUDY_DESCRIPTION, "CT\\MR", false); | 243 lookup.AddDicomConstraint(DICOM_TAG_STUDY_DESCRIPTION, "CT\\MR", false, true); |
260 | 244 |
261 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 245 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
262 ASSERT_EQ(DICOM_TAG_STUDY_DESCRIPTION, lookup.GetConstraint(0).GetTag()); | 246 ASSERT_EQ(DICOM_TAG_STUDY_DESCRIPTION, lookup.GetConstraint(0).GetTag()); |
263 ASSERT_EQ(ResourceType_Study, lookup.GetConstraint(0).GetLevel()); | 247 ASSERT_EQ(ConstraintType_List, lookup.GetConstraint(0).GetType()); |
264 ASSERT_EQ(ConstraintType_List, lookup.GetConstraint(0).GetConstraintType()); | |
265 | 248 |
266 const std::set<std::string>& values = lookup.GetConstraint(0).GetValues(); | 249 const std::set<std::string>& values = lookup.GetConstraint(0).GetValues(); |
267 ASSERT_EQ(2u, values.size()); | 250 ASSERT_EQ(2u, values.size()); |
268 ASSERT_TRUE(values.find("CT") != values.end()); | 251 ASSERT_TRUE(values.find("CT") != values.end()); |
269 ASSERT_TRUE(values.find("MR") != values.end()); | 252 ASSERT_TRUE(values.find("MR") != values.end()); |
270 ASSERT_TRUE(values.find("nope") == values.end()); | 253 ASSERT_TRUE(values.find("nope") == values.end()); |
271 } | 254 } |
272 | 255 |
273 { | 256 { |
274 DatabaseLookup lookup; | 257 DatabaseLookup lookup; |
275 lookup.AddDicomConstraint(DICOM_TAG_STUDY_DESCRIPTION, "HE*O", false); | 258 lookup.AddDicomConstraint(DICOM_TAG_STUDY_DESCRIPTION, "HE*O", false, true); |
276 | 259 |
277 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 260 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
278 ASSERT_EQ(ConstraintType_Wildcard, lookup.GetConstraint(0).GetConstraintType()); | 261 ASSERT_EQ(ConstraintType_Wildcard, lookup.GetConstraint(0).GetType()); |
279 } | 262 } |
280 | 263 |
281 { | 264 { |
282 DatabaseLookup lookup; | 265 DatabaseLookup lookup; |
283 lookup.AddDicomConstraint(DICOM_TAG_STUDY_DESCRIPTION, "HE?O", false); | 266 lookup.AddDicomConstraint(DICOM_TAG_STUDY_DESCRIPTION, "HE?O", false, true); |
284 | 267 |
285 ASSERT_EQ(1u, lookup.GetConstraintsCount()); | 268 ASSERT_EQ(1u, lookup.GetConstraintsCount()); |
286 ASSERT_EQ(ConstraintType_Wildcard, lookup.GetConstraint(0).GetConstraintType()); | 269 ASSERT_EQ(ConstraintType_Wildcard, lookup.GetConstraint(0).GetType()); |
287 } | 270 } |
288 | 271 |
289 { | 272 { |
290 DatabaseLookup lookup; | 273 DatabaseLookup lookup; |
291 lookup.AddDicomConstraint(DICOM_TAG_RELATED_FRAME_OF_REFERENCE_UID, "TEST", false); | 274 lookup.AddDicomConstraint(DICOM_TAG_RELATED_FRAME_OF_REFERENCE_UID, "TEST", false, true); |
292 | 275 lookup.AddDicomConstraint(DICOM_TAG_PATIENT_NAME, "TEST2", false, false); |
293 ASSERT_TRUE(lookup.GetConstraint(0).HasTagInfo()); | 276 ASSERT_TRUE(lookup.GetConstraint(0).IsMandatory()); |
294 ASSERT_EQ(DicomTagType_Generic, lookup.GetConstraint(0).GetTagType()); | 277 ASSERT_FALSE(lookup.GetConstraint(1).IsMandatory()); |
295 ASSERT_EQ(ResourceType_Instance, lookup.GetConstraint(0).GetLevel()); | |
296 } | 278 } |
297 } | 279 } |