comparison 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
comparison
equal deleted inserted replaced
1090:e494ceb8d763 1091:a66224eec125
235 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 192")); ASSERT_EQ(Encoding_Utf8, e); 235 ASSERT_TRUE(GetDicomEncoding(e, "ISO_IR 192")); ASSERT_EQ(Encoding_Utf8, e);
236 ASSERT_TRUE(GetDicomEncoding(e, "GB18030")); ASSERT_EQ(Encoding_Chinese, e); 236 ASSERT_TRUE(GetDicomEncoding(e, "GB18030")); ASSERT_EQ(Encoding_Chinese, e);
237 } 237 }
238 238
239 239
240 TEST(FromDcmtkBridge, DISABLED_Encodings3) 240 TEST(FromDcmtkBridge, Encodings3)
241 { 241 {
242 for (unsigned int i = 0; i < testEncodingsCount; i++) 242 for (unsigned int i = 0; i < testEncodingsCount; i++)
243 { 243 {
244 ParsedDicomFile f;
245 f.SetEncoding(testEncodings[i]);
246
247 std::string source(testEncodingsEncoded[i]);
248 std::string expected(testEncodingsExpected[i]);
249 std::string s = Toolbox::ConvertToUtf8(source, testEncodings[i]);
250 std::cout << EnumerationToString(testEncodings[i]) << std::endl; 244 std::cout << EnumerationToString(testEncodings[i]) << std::endl;
251 EXPECT_EQ(expected, s); 245 std::string dicom;
252 } 246
253 } 247 {
248 ParsedDicomFile f;
249 f.SetEncoding(testEncodings[i]);
250 f.Insert(DICOM_TAG_PATIENT_NAME, testEncodingsEncoded[i]);
251 f.SaveToMemoryBuffer(dicom);
252 }
253
254 {
255 ParsedDicomFile g(dicom);
256
257 if (testEncodings[i] != Encoding_Ascii)
258 {
259 ASSERT_EQ(testEncodings[i], g.GetEncoding());
260 }
261
262 std::string tag;
263 ASSERT_TRUE(g.GetTagValue(tag, DICOM_TAG_PATIENT_NAME));
264
265 std::string expected();
266 ASSERT_EQ(std::string(testEncodingsExpected[i]), tag);
267 }
268 }
269 }