diff UnitTestsSources/FromDcmtkTests.cpp @ 1091:a66224eec125

encoding tests
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 05 Aug 2014 12:28:55 +0200
parents e494ceb8d763
children 6e7e5ed91c2d
line wrap: on
line diff
--- a/UnitTestsSources/FromDcmtkTests.cpp	Tue Aug 05 12:04:23 2014 +0200
+++ b/UnitTestsSources/FromDcmtkTests.cpp	Tue Aug 05 12:28:55 2014 +0200
@@ -237,17 +237,33 @@
 }
 
 
-TEST(FromDcmtkBridge, DISABLED_Encodings3)
+TEST(FromDcmtkBridge, Encodings3)
 {
   for (unsigned int i = 0; i < testEncodingsCount; i++)
   {
-    ParsedDicomFile f;
-    f.SetEncoding(testEncodings[i]);
+    std::cout << EnumerationToString(testEncodings[i]) << std::endl;
+    std::string dicom;
+
+    {
+      ParsedDicomFile f;
+      f.SetEncoding(testEncodings[i]);
+      f.Insert(DICOM_TAG_PATIENT_NAME, testEncodingsEncoded[i]);
+      f.SaveToMemoryBuffer(dicom);
+    }
 
-    std::string source(testEncodingsEncoded[i]);
-    std::string expected(testEncodingsExpected[i]);
-    std::string s = Toolbox::ConvertToUtf8(source, testEncodings[i]);
-    std::cout << EnumerationToString(testEncodings[i]) << std::endl;
-    EXPECT_EQ(expected, s);
+    {
+      ParsedDicomFile g(dicom);
+
+      if (testEncodings[i] != Encoding_Ascii)
+      {
+        ASSERT_EQ(testEncodings[i], g.GetEncoding());
+      }
+
+      std::string tag;
+      ASSERT_TRUE(g.GetTagValue(tag, DICOM_TAG_PATIENT_NAME));
+
+      std::string expected();
+      ASSERT_EQ(std::string(testEncodingsExpected[i]), tag);
+    }
   }
 }