comparison UnitTestsSources/DicomMapTests.cpp @ 3518:a57c8163d9ae

DicomMap::GetStringValue()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 11 Sep 2019 17:00:59 +0200
parents db71bd11affc
children 77bede920d22
comparison
equal deleted inserted replaced
3517:e481c2b32914 3518:a57c8163d9ae
255 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseInteger32(i)); 255 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseInteger32(i));
256 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseInteger64(j)); 256 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseInteger64(j));
257 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger32(k)); 257 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger32(k));
258 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l)); 258 ASSERT_FALSE(m.GetValue(DICOM_TAG_PATIENT_NAME).ParseUnsignedInteger64(l));
259 259
260 ASSERT_FALSE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, false)); 260 ASSERT_FALSE(m.LookupStringValue(s, DICOM_TAG_PATIENT_NAME, false));
261 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, true)); 261 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_PATIENT_NAME, true));
262 ASSERT_EQ("0", s); 262 ASSERT_EQ("0", s);
263 263
264 264
265 // 2**31-1 265 // 2**31-1
266 m.SetValue(DICOM_TAG_PATIENT_NAME, "2147483647", false); 266 m.SetValue(DICOM_TAG_PATIENT_NAME, "2147483647", false);
290 ASSERT_EQ(42, i); 290 ASSERT_EQ(42, i);
291 ASSERT_EQ(42ll, j); 291 ASSERT_EQ(42ll, j);
292 ASSERT_EQ(42u, k); 292 ASSERT_EQ(42u, k);
293 ASSERT_EQ(42ull, l); 293 ASSERT_EQ(42ull, l);
294 294
295 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, false)); 295 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_PATIENT_NAME, false));
296 ASSERT_EQ("42", s); 296 ASSERT_EQ("42", s);
297 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, true)); 297 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_PATIENT_NAME, true));
298 ASSERT_EQ("42", s); 298 ASSERT_EQ("42", s);
299 299
300 300
301 // 2**31 301 // 2**31
302 m.SetValue(DICOM_TAG_PATIENT_NAME, "2147483648", false); 302 m.SetValue(DICOM_TAG_PATIENT_NAME, "2147483648", false);
595 DicomMap m; 595 DicomMap m;
596 m.FromDicomWeb(visitor.GetResult()); 596 m.FromDicomWeb(visitor.GetResult());
597 ASSERT_EQ(3u, m.GetSize()); 597 ASSERT_EQ(3u, m.GetSize());
598 598
599 std::string s; 599 std::string s;
600 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_PATIENT_NAME, false)); 600 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_PATIENT_NAME, false));
601 ASSERT_EQ("SB1^SB2^SB3^SB4^SB5", s); 601 ASSERT_EQ("SB1^SB2^SB3^SB4^SB5", s);
602 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_IMAGE_POSITION_PATIENT, false)); 602 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_IMAGE_POSITION_PATIENT, false));
603 ASSERT_TRUE(s.empty()); 603 ASSERT_TRUE(s.empty());
604 604
605 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_IMAGE_ORIENTATION_PATIENT, false)); 605 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_IMAGE_ORIENTATION_PATIENT, false));
606 606
607 std::vector<std::string> v; 607 std::vector<std::string> v;
608 Orthanc::Toolbox::TokenizeString(v, s, '\\'); 608 Orthanc::Toolbox::TokenizeString(v, s, '\\');
609 ASSERT_FLOAT_EQ(1.0f, boost::lexical_cast<float>(v[0])); 609 ASSERT_FLOAT_EQ(1.0f, boost::lexical_cast<float>(v[0]));
610 ASSERT_FLOAT_EQ(2.3f, boost::lexical_cast<float>(v[1])); 610 ASSERT_FLOAT_EQ(2.3f, boost::lexical_cast<float>(v[1]));
645 DicomMap m; 645 DicomMap m;
646 m.FromDicomWeb(visitor.GetResult()); 646 m.FromDicomWeb(visitor.GetResult());
647 ASSERT_EQ(1u, m.GetSize()); 647 ASSERT_EQ(1u, m.GetSize());
648 648
649 std::string s; 649 std::string s;
650 ASSERT_TRUE(m.CopyToString(s, DICOM_TAG_IMAGE_ORIENTATION_PATIENT, false)); 650 ASSERT_TRUE(m.LookupStringValue(s, DICOM_TAG_IMAGE_ORIENTATION_PATIENT, false));
651 651
652 std::vector<std::string> v; 652 std::vector<std::string> v;
653 Orthanc::Toolbox::TokenizeString(v, s, '\\'); 653 Orthanc::Toolbox::TokenizeString(v, s, '\\');
654 ASSERT_FLOAT_EQ(1.5f, boost::lexical_cast<float>(v[0])); 654 ASSERT_FLOAT_EQ(1.5f, boost::lexical_cast<float>(v[0]));
655 ASSERT_TRUE(v[1].empty()); 655 ASSERT_TRUE(v[1].empty());
849 DicomMap m; 849 DicomMap m;
850 m.FromDicomWeb(visitor.GetResult()); 850 m.FromDicomWeb(visitor.GetResult());
851 ASSERT_EQ(31u, m.GetSize()); 851 ASSERT_EQ(31u, m.GetSize());
852 852
853 std::string s; 853 std::string s;
854 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0002, 0x0002), false)); ASSERT_EQ("UI", s); 854 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0002, 0x0002), false)); ASSERT_EQ("UI", s);
855 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0040, 0x0241), false)); ASSERT_EQ("AE", s); 855 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0040, 0x0241), false)); ASSERT_EQ("AE", s);
856 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0010, 0x1010), false)); ASSERT_EQ("AS", s); 856 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0010, 0x1010), false)); ASSERT_EQ("AS", s);
857 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0020, 0x9165), false)); ASSERT_EQ("00100020", s); 857 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0020, 0x9165), false)); ASSERT_EQ("00100020", s);
858 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0052), false)); ASSERT_EQ("CS", s); 858 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0052), false)); ASSERT_EQ("CS", s);
859 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0012), false)); ASSERT_EQ("DA", s); 859 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0012), false)); ASSERT_EQ("DA", s);
860 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0010, 0x1020), false)); ASSERT_EQ("42", s); 860 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0010, 0x1020), false)); ASSERT_EQ("42", s);
861 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x002a), false)); ASSERT_EQ("DT", s); 861 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x002a), false)); ASSERT_EQ("DT", s);
862 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0010, 0x9431), false)); ASSERT_EQ("43", s); 862 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0010, 0x9431), false)); ASSERT_EQ("43", s);
863 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x1163), false)); ASSERT_EQ("44", s); 863 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x1163), false)); ASSERT_EQ("44", s);
864 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x1160), false)); ASSERT_EQ("45", s); 864 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x1160), false)); ASSERT_EQ("45", s);
865 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0070), false)); ASSERT_EQ("LO", s); 865 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0070), false)); ASSERT_EQ("LO", s);
866 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0010, 0x4000), false)); ASSERT_EQ("LT", s); 866 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0010, 0x4000), false)); ASSERT_EQ("LT", s);
867 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0028, 0x2000), true)); ASSERT_EQ("OB", s); 867 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0028, 0x2000), true)); ASSERT_EQ("OB", s);
868 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x7fe0, 0x0009), true)); ASSERT_EQ("OD", s); 868 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x7fe0, 0x0009), true)); ASSERT_EQ("OD", s);
869 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0064, 0x0009), true)); ASSERT_EQ("OF", s); 869 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0064, 0x0009), true)); ASSERT_EQ("OF", s);
870 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0028, 0x1201), true)); ASSERT_EQ("OWOW", s); 870 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0028, 0x1201), true)); ASSERT_EQ("OWOW", s);
871 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0010, 0x0010), false)); ASSERT_EQ("PN", s); 871 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0010, 0x0010), false)); ASSERT_EQ("PN", s);
872 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0050), false)); ASSERT_EQ("SH", s); 872 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0050), false)); ASSERT_EQ("SH", s);
873 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0018, 0x6020), false)); ASSERT_EQ("-15", s); 873 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0018, 0x6020), false)); ASSERT_EQ("-15", s);
874 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0018, 0x9219), false)); ASSERT_EQ("-16", s); 874 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0018, 0x9219), false)); ASSERT_EQ("-16", s);
875 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0081), false)); ASSERT_EQ("ST", s); 875 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0081), false)); ASSERT_EQ("ST", s);
876 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0013), false)); ASSERT_EQ("TM", s); 876 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0013), false)); ASSERT_EQ("TM", s);
877 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0119), false)); ASSERT_EQ("UC", s); 877 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0119), false)); ASSERT_EQ("UC", s);
878 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0016), false)); ASSERT_EQ("UI", s); 878 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0016), false)); ASSERT_EQ("UI", s);
879 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x1161), false)); ASSERT_EQ("128", s); 879 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x1161), false)); ASSERT_EQ("128", s);
880 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x4342, 0x1234), true)); ASSERT_EQ("UN", s); 880 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x4342, 0x1234), true)); ASSERT_EQ("UN", s);
881 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0120), false)); ASSERT_EQ("UR", s); 881 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0120), false)); ASSERT_EQ("UR", s);
882 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0008, 0x0301), false)); ASSERT_EQ("17", s); 882 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0008, 0x0301), false)); ASSERT_EQ("17", s);
883 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0040, 0x0031), false)); ASSERT_EQ("UT", s); 883 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0040, 0x0031), false)); ASSERT_EQ("UT", s);
884 884
885 #if DCMTK_VERSION_NUMBER == 361 885 #if DCMTK_VERSION_NUMBER == 361
886 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0066, 0x0040), false)); 886 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0066, 0x0040), false));
887 #else 887 #else
888 ASSERT_TRUE(m.CopyToString(s, DicomTag(0x0066, 0x0040), true)); 888 ASSERT_TRUE(m.LookupStringValue(s, DicomTag(0x0066, 0x0040), true));
889 #endif 889 #endif
890 ASSERT_EQ("46", s); 890 ASSERT_EQ("46", s);
891 } 891 }
892 } 892 }
893 893