Mercurial > hg > orthanc
comparison UnitTestsSources/DicomMapTests.cpp @ 3712:2a170a8f1faf
replacing std::auto_ptr by std::unique_ptr
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 02 Mar 2020 15:32:45 +0100 |
parents | 9107cca846b6 |
children |
comparison
equal
deleted
inserted
replaced
3709:1f4910999fe7 | 3712:2a170a8f1faf |
---|---|
32 | 32 |
33 | 33 |
34 #include "PrecompiledHeadersUnitTests.h" | 34 #include "PrecompiledHeadersUnitTests.h" |
35 #include "gtest/gtest.h" | 35 #include "gtest/gtest.h" |
36 | 36 |
37 #include "../Core/Compatibility.h" | |
37 #include "../Core/OrthancException.h" | 38 #include "../Core/OrthancException.h" |
38 #include "../Core/DicomFormat/DicomMap.h" | 39 #include "../Core/DicomFormat/DicomMap.h" |
39 #include "../Core/DicomParsing/FromDcmtkBridge.h" | 40 #include "../Core/DicomParsing/FromDcmtkBridge.h" |
40 #include "../Core/DicomParsing/ToDcmtkBridge.h" | 41 #include "../Core/DicomParsing/ToDcmtkBridge.h" |
41 #include "../Core/DicomParsing/ParsedDicomFile.h" | 42 #include "../Core/DicomParsing/ParsedDicomFile.h" |
119 | 120 |
120 m.GetTags(s); | 121 m.GetTags(s); |
121 ASSERT_EQ(1u, s.size()); | 122 ASSERT_EQ(1u, s.size()); |
122 ASSERT_EQ(DICOM_TAG_PATIENT_NAME, *s.begin()); | 123 ASSERT_EQ(DICOM_TAG_PATIENT_NAME, *s.begin()); |
123 | 124 |
124 std::auto_ptr<DicomMap> mm(m.Clone()); | 125 std::unique_ptr<DicomMap> mm(m.Clone()); |
125 ASSERT_EQ("PatientName", mm->GetValue(DICOM_TAG_PATIENT_NAME).GetContent()); | 126 ASSERT_EQ("PatientName", mm->GetValue(DICOM_TAG_PATIENT_NAME).GetContent()); |
126 | 127 |
127 m.SetValue(DICOM_TAG_PATIENT_ID, "Hello", false); | 128 m.SetValue(DICOM_TAG_PATIENT_ID, "Hello", false); |
128 ASSERT_THROW(mm->GetValue(DICOM_TAG_PATIENT_ID), OrthancException); | 129 ASSERT_THROW(mm->GetValue(DICOM_TAG_PATIENT_ID), OrthancException); |
129 mm->CopyTagIfExists(m, DICOM_TAG_PATIENT_ID); | 130 mm->CopyTagIfExists(m, DICOM_TAG_PATIENT_ID); |
448 | 449 |
449 DcmDataset& dataset = *dicom.GetDcmtkObject().getDataset(); | 450 DcmDataset& dataset = *dicom.GetDcmtkObject().getDataset(); |
450 dataset.insertEmptyElement(DCM_StudyID, OFFalse); | 451 dataset.insertEmptyElement(DCM_StudyID, OFFalse); |
451 | 452 |
452 { | 453 { |
453 std::auto_ptr<DcmSequenceOfItems> sequence(new DcmSequenceOfItems(DCM_ReferencedSeriesSequence)); | 454 std::unique_ptr<DcmSequenceOfItems> sequence(new DcmSequenceOfItems(DCM_ReferencedSeriesSequence)); |
454 | 455 |
455 { | 456 { |
456 std::auto_ptr<DcmItem> item(new DcmItem); | 457 std::unique_ptr<DcmItem> item(new DcmItem); |
457 item->putAndInsertString(DCM_ReferencedSOPInstanceUID, "nope", OFFalse); | 458 item->putAndInsertString(DCM_ReferencedSOPInstanceUID, "nope", OFFalse); |
458 ASSERT_TRUE(sequence->insert(item.release(), false, false).good()); | 459 ASSERT_TRUE(sequence->insert(item.release(), false, false).good()); |
459 } | 460 } |
460 | 461 |
461 ASSERT_TRUE(dataset.insert(sequence.release(), false, false).good()); | 462 ASSERT_TRUE(dataset.insert(sequence.release(), false, false).good()); |
693 { | 694 { |
694 // This function emulates a call to function | 695 // This function emulates a call to function |
695 // "dicom.GetDcmtkObject().getDataset()->putAndInsertTagKey(tag, | 696 // "dicom.GetDcmtkObject().getDataset()->putAndInsertTagKey(tag, |
696 // value)" that was not available in DCMTK 3.6.0 | 697 // value)" that was not available in DCMTK 3.6.0 |
697 | 698 |
698 std::auto_ptr<DcmAttributeTag> element(new DcmAttributeTag(ToDcmtkBridge::Convert(tag))); | 699 std::unique_ptr<DcmAttributeTag> element(new DcmAttributeTag(ToDcmtkBridge::Convert(tag))); |
699 | 700 |
700 DcmTagKey v = ToDcmtkBridge::Convert(value); | 701 DcmTagKey v = ToDcmtkBridge::Convert(value); |
701 if (!element->putTagVal(v).good()) | 702 if (!element->putTagVal(v).good()) |
702 { | 703 { |
703 throw OrthancException(ErrorCode_InternalError); | 704 throw OrthancException(ErrorCode_InternalError); |
936 TEST(DicomWebJson, Sequence) | 937 TEST(DicomWebJson, Sequence) |
937 { | 938 { |
938 ParsedDicomFile dicom(false); | 939 ParsedDicomFile dicom(false); |
939 | 940 |
940 { | 941 { |
941 std::auto_ptr<DcmSequenceOfItems> sequence(new DcmSequenceOfItems(DCM_ReferencedSeriesSequence)); | 942 std::unique_ptr<DcmSequenceOfItems> sequence(new DcmSequenceOfItems(DCM_ReferencedSeriesSequence)); |
942 | 943 |
943 for (unsigned int i = 0; i < 3; i++) | 944 for (unsigned int i = 0; i < 3; i++) |
944 { | 945 { |
945 std::auto_ptr<DcmItem> item(new DcmItem); | 946 std::unique_ptr<DcmItem> item(new DcmItem); |
946 std::string s = "item" + boost::lexical_cast<std::string>(i); | 947 std::string s = "item" + boost::lexical_cast<std::string>(i); |
947 item->putAndInsertString(DCM_ReferencedSOPInstanceUID, s.c_str(), OFFalse); | 948 item->putAndInsertString(DCM_ReferencedSOPInstanceUID, s.c_str(), OFFalse); |
948 ASSERT_TRUE(sequence->insert(item.release(), false, false).good()); | 949 ASSERT_TRUE(sequence->insert(item.release(), false, false).good()); |
949 } | 950 } |
950 | 951 |