diff UnitTestsSources/FromDcmtkTests.cpp @ 1735:a001f6226c7c

primitives for flags in dicom-to-json conversions
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 21 Oct 2015 16:25:09 +0200
parents 4aaaecae5803
children b953c6eef28d
line wrap: on
line diff
--- a/UnitTestsSources/FromDcmtkTests.cpp	Wed Oct 21 14:28:57 2015 +0200
+++ b/UnitTestsSources/FromDcmtkTests.cpp	Wed Oct 21 16:25:09 2015 +0200
@@ -339,7 +339,7 @@
     element.reset(FromDcmtkBridge::FromJson(DICOM_TAG_PATIENT_NAME, a, false, Encoding_Utf8));
 
     Json::Value b;
-    FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Short, 0, Encoding_Ascii);
+    FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Short, DicomToJsonFlags_Default, 0, Encoding_Ascii);
     ASSERT_EQ("Hello", b["0010,0010"].asString());
   }
 
@@ -363,7 +363,7 @@
     element.reset(FromDcmtkBridge::FromJson(DICOM_TAG_PATIENT_NAME, a, true, Encoding_Utf8));
 
     Json::Value b;
-    FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Short, 0, Encoding_Ascii);
+    FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Short, DicomToJsonFlags_Default, 0, Encoding_Ascii);
     ASSERT_EQ("Hello", b["0010,0010"].asString());
   }
 
@@ -374,7 +374,7 @@
 
     {
       Json::Value b;
-      FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Short, 0, Encoding_Ascii);
+      FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Short, DicomToJsonFlags_Default, 0, Encoding_Ascii);
       ASSERT_EQ(Json::arrayValue, b["0008,1110"].type());
       ASSERT_EQ(2, b["0008,1110"].size());
       
@@ -391,7 +391,7 @@
 
     {
       Json::Value b;
-      FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Full, 0, Encoding_Ascii);
+      FromDcmtkBridge::ToJson(b, *element, DicomToJsonFormat_Full, DicomToJsonFlags_Default, 0, Encoding_Ascii);
 
       Json::Value c;
       Toolbox::SimplifyTags(c, b);
@@ -470,7 +470,7 @@
 
   {
     Json::Value b;
-    f.ToJson(b, DicomToJsonFormat_Full, 0);
+    f.ToJson(b, DicomToJsonFormat_Full, DicomToJsonFlags_Default, 0);
 
     Json::Value c;
     Toolbox::SimplifyTags(c, b);
@@ -515,8 +515,28 @@
       f.Replace(DICOM_TAG_PATIENT_NAME, s, false);
 
       Json::Value v;
-      f.ToJson(v, DicomToJsonFormat_Simple, 0);
+      f.ToJson(v, DicomToJsonFormat_Simple, DicomToJsonFlags_Default, 0);
       ASSERT_EQ(v["PatientName"].asString(), std::string(testEncodingsExpected[i]));
     }
   }
 }
+
+TEST(ParsedDicomFile, ToJsonFlags)
+{
+  {
+    ParsedDicomFile f;
+    f.Insert(DicomTag(0x7053, 0x1000), "Some private tag", false);
+
+    Json::Value v;
+    f.ToJson(v, DicomToJsonFormat_Short, DicomToJsonFlags_None, 0);
+    ASSERT_EQ(Json::objectValue, v.type());
+    ASSERT_EQ(5, v.getMemberNames().size());
+    ASSERT_FALSE(v.isMember("7053-1000"));
+
+    f.ToJson(v, DicomToJsonFormat_Short, DicomToJsonFlags_IncludePrivateTags, 0);
+    ASSERT_EQ(Json::objectValue, v.type());
+    ASSERT_EQ(6, v.getMemberNames().size());
+    ASSERT_TRUE(v.isMember("7053,1000"));
+    ASSERT_EQ(Json::nullValue, v["7053,1000"].type());
+  }
+}