Mercurial > hg > orthanc
comparison OrthancServer/UnitTestsSources/UnitTestsMain.cpp @ 5650:c2817a9eb032
unit test
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Wed, 05 Jun 2024 11:03:45 +0200 |
parents | f7adfb22e20e |
children |
comparison
equal
deleted
inserted
replaced
5649:4a2bfda999c6 | 5650:c2817a9eb032 |
---|---|
240 std::unique_ptr<DicomInstanceToStore> toStore(DicomInstanceToStore::CreateFromParsedDicomFile(dicom)); | 240 std::unique_ptr<DicomInstanceToStore> toStore(DicomInstanceToStore::CreateFromParsedDicomFile(dicom)); |
241 | 241 |
242 Json::Value dicomAsJson; | 242 Json::Value dicomAsJson; |
243 OrthancConfiguration::DefaultDicomDatasetToJson(dicomAsJson, toStore->GetParsedDicomFile()); | 243 OrthancConfiguration::DefaultDicomDatasetToJson(dicomAsJson, toStore->GetParsedDicomFile()); |
244 | 244 |
245 DicomMap m; | 245 { // without parsing sequences |
246 m.FromDicomAsJson(dicomAsJson); | 246 DicomMap m; |
247 | 247 m.FromDicomAsJson(dicomAsJson); |
248 ASSERT_EQ("ISO_IR 100", m.GetValue(DICOM_TAG_SPECIFIC_CHARACTER_SET).GetContent()); | 248 |
249 | 249 ASSERT_EQ("ISO_IR 100", m.GetValue(DICOM_TAG_SPECIFIC_CHARACTER_SET).GetContent()); |
250 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).IsBinary()); | 250 |
251 ASSERT_EQ("Hello", m.GetValue(DICOM_TAG_PATIENT_NAME).GetContent()); | 251 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).IsBinary()); |
252 | 252 ASSERT_EQ("Hello", m.GetValue(DICOM_TAG_PATIENT_NAME).GetContent()); |
253 ASSERT_FALSE(m.GetValue(DICOM_TAG_STUDY_DESCRIPTION).IsBinary()); | 253 |
254 ASSERT_EQ(utf8, m.GetValue(DICOM_TAG_STUDY_DESCRIPTION).GetContent()); | 254 ASSERT_FALSE(m.GetValue(DICOM_TAG_STUDY_DESCRIPTION).IsBinary()); |
255 | 255 ASSERT_EQ(utf8, m.GetValue(DICOM_TAG_STUDY_DESCRIPTION).GetContent()); |
256 ASSERT_FALSE(m.HasTag(DICOM_TAG_MANUFACTURER)); // Too long | 256 |
257 ASSERT_FALSE(m.HasTag(DICOM_TAG_PIXEL_DATA)); // Pixel data | 257 ASSERT_FALSE(m.HasTag(DICOM_TAG_MANUFACTURER)); // Too long |
258 ASSERT_FALSE(m.HasTag(DICOM_TAG_REFERENCED_SERIES_SEQUENCE)); // Sequence | 258 ASSERT_FALSE(m.HasTag(DICOM_TAG_PIXEL_DATA)); // Pixel data |
259 ASSERT_EQ(DICOM_TAG_REFERENCED_SERIES_SEQUENCE.GetGroup(), DCM_ReferencedSeriesSequence.getGroup()); | 259 ASSERT_FALSE(m.HasTag(DICOM_TAG_REFERENCED_SERIES_SEQUENCE)); // Sequence |
260 ASSERT_EQ(DICOM_TAG_REFERENCED_SERIES_SEQUENCE.GetElement(), DCM_ReferencedSeriesSequence.getElement()); | 260 ASSERT_EQ(DICOM_TAG_REFERENCED_SERIES_SEQUENCE.GetGroup(), DCM_ReferencedSeriesSequence.getGroup()); |
261 | 261 ASSERT_EQ(DICOM_TAG_REFERENCED_SERIES_SEQUENCE.GetElement(), DCM_ReferencedSeriesSequence.getElement()); |
262 ASSERT_TRUE(m.HasTag(DICOM_TAG_SERIES_DESCRIPTION)); // Maximum length | 262 |
263 ASSERT_FALSE(m.GetValue(DICOM_TAG_SERIES_DESCRIPTION).IsBinary()); | 263 ASSERT_TRUE(m.HasTag(DICOM_TAG_SERIES_DESCRIPTION)); // Maximum length |
264 ASSERT_EQ(ORTHANC_MAXIMUM_TAG_LENGTH, | 264 ASSERT_FALSE(m.GetValue(DICOM_TAG_SERIES_DESCRIPTION).IsBinary()); |
265 static_cast<int>(m.GetValue(DICOM_TAG_SERIES_DESCRIPTION).GetContent().length())); | 265 ASSERT_EQ(ORTHANC_MAXIMUM_TAG_LENGTH, |
266 | 266 static_cast<int>(m.GetValue(DICOM_TAG_SERIES_DESCRIPTION).GetContent().length())); |
267 ASSERT_FALSE(m.GetValue(DICOM_TAG_ROWS).IsBinary()); | 267 |
268 ASSERT_EQ("512", m.GetValue(DICOM_TAG_ROWS).GetContent()); | 268 ASSERT_FALSE(m.GetValue(DICOM_TAG_ROWS).IsBinary()); |
269 | 269 ASSERT_EQ("512", m.GetValue(DICOM_TAG_ROWS).GetContent()); |
270 ASSERT_FALSE(m.GetValue(DICOM_TAG_STUDY_ID).IsNull()); | 270 |
271 ASSERT_FALSE(m.GetValue(DICOM_TAG_STUDY_ID).IsBinary()); | 271 ASSERT_FALSE(m.GetValue(DICOM_TAG_STUDY_ID).IsNull()); |
272 ASSERT_EQ("", m.GetValue(DICOM_TAG_STUDY_ID).GetContent()); | 272 ASSERT_FALSE(m.GetValue(DICOM_TAG_STUDY_ID).IsBinary()); |
273 | 273 ASSERT_EQ("", m.GetValue(DICOM_TAG_STUDY_ID).GetContent()); |
274 DicomArray a(m); | 274 |
275 ASSERT_EQ(6u, a.GetSize()); | 275 DicomArray a(m); |
276 | 276 ASSERT_EQ(6u, a.GetSize()); |
277 | 277 |
278 //dicom.SaveToFile("/tmp/test.dcm"); | 278 |
279 //std::cout << toStore.GetJson() << std::endl; | 279 //dicom.SaveToFile("/tmp/test.dcm"); |
280 //a.Print(stdout); | 280 //std::cout << toStore.GetJson() << std::endl; |
281 //a.Print(stdout); | |
282 } | |
283 | |
284 { // now parses sequences | |
285 // LOG(INFO) << dicomAsJson.toStyledString(); | |
286 | |
287 DicomMap m; | |
288 m.FromDicomAsJson(dicomAsJson, false, true /* parseSequences */); | |
289 | |
290 ASSERT_TRUE(m.HasTag(DICOM_TAG_REFERENCED_SERIES_SEQUENCE)); | |
291 } | |
281 } | 292 } |
282 | 293 |
283 | 294 |
284 | 295 |
285 namespace Orthanc | 296 namespace Orthanc |