comparison UnitTestsSources/DicomMapTests.cpp @ 2863:da12ba232119

serialization of DicomMap
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 05 Oct 2018 17:49:05 +0200
parents 61fdb06e389a
children 8265a6b56100
comparison
equal deleted inserted replaced
2860:8b00e4cb4a6b 2863:da12ba232119
367 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l)); 367 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l));
368 ASSERT_FLOAT_EQ(-2147483649.0f, f); 368 ASSERT_FLOAT_EQ(-2147483649.0f, f);
369 ASSERT_DOUBLE_EQ(-2147483649.0, d); 369 ASSERT_DOUBLE_EQ(-2147483649.0, d);
370 ASSERT_EQ(-2147483649ll, j); 370 ASSERT_EQ(-2147483649ll, j);
371 } 371 }
372
373
374 TEST(DicomMap, Serialize)
375 {
376 Json::Value s;
377
378 {
379 DicomMap m;
380 m.SetValue(DICOM_TAG_PATIENT_NAME, "Hello", false);
381 m.SetValue(DICOM_TAG_STUDY_DESCRIPTION, "Binary", true);
382 m.SetNullValue(DICOM_TAG_SERIES_DESCRIPTION);
383 m.Serialize(s);
384 }
385
386 {
387 DicomMap m;
388 m.Unserialize(s);
389
390 const DicomValue* v = m.TestAndGetValue(DICOM_TAG_ACCESSION_NUMBER);
391 ASSERT_TRUE(v == NULL);
392
393 v = m.TestAndGetValue(DICOM_TAG_PATIENT_NAME);
394 ASSERT_TRUE(v != NULL);
395 ASSERT_FALSE(v->IsNull());
396 ASSERT_FALSE(v->IsBinary());
397 ASSERT_EQ("Hello", v->GetContent());
398
399 v = m.TestAndGetValue(DICOM_TAG_STUDY_DESCRIPTION);
400 ASSERT_TRUE(v != NULL);
401 ASSERT_FALSE(v->IsNull());
402 ASSERT_TRUE(v->IsBinary());
403 ASSERT_EQ("Binary", v->GetContent());
404
405 v = m.TestAndGetValue(DICOM_TAG_SERIES_DESCRIPTION);
406 ASSERT_TRUE(v != NULL);
407 ASSERT_TRUE(v->IsNull());
408 ASSERT_FALSE(v->IsBinary());
409 ASSERT_THROW(v->GetContent(), OrthancException);
410 }
411 }