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