Mercurial > hg > orthanc
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 } |