Mercurial > hg > orthanc
comparison OrthancFramework/UnitTestsSources/FromDcmtkTests.cpp @ 4736:bf852fd773b7
fix unit test FromDcmtkBridge.VisitorRemoveTag on DCMTK 3.6.6
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 05 Jul 2021 17:50:58 +0200 |
parents | e17fdc43ef6c |
children | 979ae3ea3381 |
comparison
equal
deleted
inserted
replaced
4735:e17fdc43ef6c | 4736:bf852fd773b7 |
---|---|
59 #endif | 59 #endif |
60 | 60 |
61 #include <dcmtk/dcmdata/dcdeftag.h> | 61 #include <dcmtk/dcmdata/dcdeftag.h> |
62 #include <dcmtk/dcmdata/dcelem.h> | 62 #include <dcmtk/dcmdata/dcelem.h> |
63 #include <dcmtk/dcmdata/dcvrat.h> | 63 #include <dcmtk/dcmdata/dcvrat.h> |
64 #include <dcmtk/dcmdata/dcbytstr.h> | 64 #include <dcmtk/dcmdata/dcpxitem.h> |
65 #include <dcmtk/dcmdata/dcvrss.h> | 65 #include <dcmtk/dcmdata/dcvrss.h> |
66 #include <dcmtk/dcmdata/dcvrfl.h> | 66 #include <dcmtk/dcmdata/dcvrfl.h> |
67 | 67 |
68 #include <boost/algorithm/string/predicate.hpp> | 68 #include <boost/algorithm/string/predicate.hpp> |
69 #include <boost/lexical_cast.hpp> | 69 #include <boost/lexical_cast.hpp> |
2925 std::unique_ptr<DcmSignedShort> s(new DcmSignedShort(DCM_TagAngleSecondAxis)); // VisitIntegers() | 2925 std::unique_ptr<DcmSignedShort> s(new DcmSignedShort(DCM_TagAngleSecondAxis)); // VisitIntegers() |
2926 ASSERT_TRUE(s->putSint16Array(a, 2).good()); | 2926 ASSERT_TRUE(s->putSint16Array(a, 2).good()); |
2927 dicom->GetDcmtkObject().getDataset()->insert(s.release()); | 2927 dicom->GetDcmtkObject().getDataset()->insert(s.release()); |
2928 } | 2928 } |
2929 | 2929 |
2930 DcmItem *parent = NULL; | |
2931 ASSERT_TRUE(dicom->GetDcmtkObject().getDataset()->findAndGetSequenceItem(DCM_ReferencedImageSequence, parent, 0).good()); | |
2932 | |
2930 { | 2933 { |
2931 const float a[] = { 42, 43, 47 }; | 2934 const float a[] = { 42, 43, 47 }; |
2932 std::unique_ptr<DcmFloatingPointSingle> s(new DcmFloatingPointSingle(DCM_ExaminedBodyThickness)); // VisitDoubles() | 2935 std::unique_ptr<DcmFloatingPointSingle> s(new DcmFloatingPointSingle(DCM_ExaminedBodyThickness)); // VisitDoubles() |
2933 ASSERT_TRUE(s->putFloat32Array(a, 3).good()); | 2936 ASSERT_TRUE(s->putFloat32Array(a, 3).good()); |
2934 DcmItem *item = NULL; | 2937 parent->insert(s.release()); |
2935 ASSERT_TRUE(dicom->GetDcmtkObject().getDataset()->findAndGetSequenceItem(DCM_ReferencedImageSequence, item, 0).good()); | |
2936 item->insert(s.release()); | |
2937 } | 2938 } |
2938 | 2939 |
2939 { | 2940 { |
2940 const uint16_t a[] = { 0x0008, 0x0020, 0x0008, 0x0030 }; | 2941 const uint16_t a[] = { 0x0008, 0x0020, 0x0008, 0x0030 }; |
2941 std::unique_ptr<DcmAttributeTag> s(new DcmAttributeTag(DCM_DimensionIndexPointer)); // VisitAttributes() | 2942 std::unique_ptr<DcmAttributeTag> s(new DcmAttributeTag(DCM_DimensionIndexPointer)); // VisitAttributes() |
2942 ASSERT_TRUE(s->putUint16Array(a, 2).good()); | 2943 ASSERT_TRUE(s->putUint16Array(a, 2).good()); |
2943 DcmItem *item = NULL; | 2944 parent->insert(s.release()); |
2944 ASSERT_TRUE(dicom->GetDcmtkObject().getDataset()->findAndGetSequenceItem(DCM_ReferencedImageSequence, item, 0).good()); | 2945 } |
2945 item->insert(s.release()); | 2946 |
2946 } | 2947 ASSERT_TRUE(dicom->GetDcmtkObject().getDataset()->insert(new DcmPixelItem(DCM_PixelData)).good()); // VisitNotSupported() |
2947 | |
2948 ASSERT_TRUE(dicom->GetDcmtkObject().getDataset()->insert(new DcmByteString(DCM_PixelData)).good()); // VisitNotSupported() | |
2949 } | 2948 } |
2950 | 2949 |
2951 { | 2950 { |
2952 V visitor; | 2951 V visitor; |
2953 dicom->Apply(visitor); | 2952 dicom->Apply(visitor); |