diff UnitTestsSources/DicomMapTests.cpp @ 2412:cad393b41bc3

handy shortcuts in DicomMap
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 29 Sep 2017 11:35:45 +0200
parents 3590c936e56f
children feb0d2dcfa9b
line wrap: on
line diff
--- a/UnitTestsSources/DicomMapTests.cpp	Fri Sep 29 10:16:28 2017 +0200
+++ b/UnitTestsSources/DicomMapTests.cpp	Fri Sep 29 11:35:45 2017 +0200
@@ -231,6 +231,7 @@
   int64_t j;
   uint32_t k;
   uint64_t l;
+  std::string s;
   
   m.SetValue(DICOM_TAG_PATIENT_NAME, "      ", false);  // Empty value
   ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseFloat(f));
@@ -248,6 +249,11 @@
   ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger32(k));
   ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l));
 
+  ASSERT_FALSE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, false));
+  ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, true));
+  ASSERT_EQ("0", s);
+               
+
   // 2**31-1
   m.SetValue(DICOM_TAG_PATIENT_NAME, "2147483647", false);
   ASSERT_TRUE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseFloat(f));
@@ -262,6 +268,27 @@
   ASSERT_EQ(2147483647, j);
   ASSERT_EQ(2147483647u, k);
   ASSERT_EQ(2147483647u, l);
+
+  // Test shortcuts
+  m.SetValue(DICOM_TAG_PATIENT_NAME, "42", false);
+  ASSERT_TRUE(m.ParseFloat(f, DICOM_TAG_PATIENT_NAME));
+  ASSERT_TRUE(m.ParseDouble(d, DICOM_TAG_PATIENT_NAME));
+  ASSERT_TRUE(m.ParseInteger32(i, DICOM_TAG_PATIENT_NAME));
+  ASSERT_TRUE(m.ParseInteger64(j, DICOM_TAG_PATIENT_NAME));
+  ASSERT_TRUE(m.ParseUnsignedInteger32(k, DICOM_TAG_PATIENT_NAME));
+  ASSERT_TRUE(m.ParseUnsignedInteger64(l, DICOM_TAG_PATIENT_NAME));
+  ASSERT_FLOAT_EQ(42.0f, f);
+  ASSERT_DOUBLE_EQ(42.0, d);
+  ASSERT_EQ(42, i);
+  ASSERT_EQ(42, j);
+  ASSERT_EQ(42u, k);
+  ASSERT_EQ(42u, l);
+
+  ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, false));
+  ASSERT_EQ("42", s);
+  ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, true));
+  ASSERT_EQ("42", s);
+               
   
   // 2**31
   m.SetValue(DICOM_TAG_PATIENT_NAME, "2147483648", false);