comparison UnitTestsSources/DicomMapTests.cpp @ 3519:fc26659493b6

added support for COLUMNS/ROWS tags with invalid 800\0 value observed in some US images
author amazy
date Thu, 19 Sep 2019 13:10:10 +0200
parents db71bd11affc
children 77bede920d22
comparison
equal deleted inserted replaced
3513:7db879b014ff 3519:fc26659493b6
237 double d; 237 double d;
238 int32_t i; 238 int32_t i;
239 int64_t j; 239 int64_t j;
240 uint32_t k; 240 uint32_t k;
241 uint64_t l; 241 uint64_t l;
242 unsigned int ui;
242 std::string s; 243 std::string s;
243 244
244 m.SetValue(DICOM_TAG_PATIENT_NAME, " ", false); // Empty value 245 m.SetValue(DICOM_TAG_PATIENT_NAME, " ", false); // Empty value
245 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseFloat(f)); 246 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseFloat(f));
246 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseDouble(d)); 247 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseDouble(d));
373 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger32(k)); 374 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger32(k));
374 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l)); 375 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l));
375 ASSERT_FLOAT_EQ(-2147483649.0f, f); 376 ASSERT_FLOAT_EQ(-2147483649.0f, f);
376 ASSERT_DOUBLE_EQ(-2147483649.0, d); 377 ASSERT_DOUBLE_EQ(-2147483649.0, d);
377 ASSERT_EQ(-2147483649ll, j); 378 ASSERT_EQ(-2147483649ll, j);
379
380
381 // "800\0" in US COLMUNS tag
382 m.SetValue(DICOM_TAG_COLUMNS, "800\0", false);
383 ASSERT_TRUE(m.GetValue(DICOM_TAG_COLUMNS).ParseFirstUnsignedInteger(ui));
384 ASSERT_EQ(800, ui);
385 m.SetValue(DICOM_TAG_COLUMNS, "800", false);
386 ASSERT_TRUE(m.GetValue(DICOM_TAG_COLUMNS).ParseFirstUnsignedInteger(ui));
387 ASSERT_EQ(800, ui);
378 } 388 }
379 389
380 390
381 TEST(DicomMap, Serialize) 391 TEST(DicomMap, Serialize)
382 { 392 {