diff UnitTestsSources/DicomMapTests.cpp @ 1360:0649c5aef34a

DicomFindQuery
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 15 May 2015 15:34:32 +0200
parents 7b6925b0890d
children b22ba8c5edbe
line wrap: on
line diff
--- a/UnitTestsSources/DicomMapTests.cpp	Fri May 15 13:17:37 2015 +0200
+++ b/UnitTestsSources/DicomMapTests.cpp	Fri May 15 15:34:32 2015 +0200
@@ -83,22 +83,38 @@
 
 TEST(DicomMap, Tags)
 {
+  std::set<DicomTag> s;
+
   DicomMap m;
+  m.GetTags(s);
+  ASSERT_EQ(0, s.size());
+
   ASSERT_FALSE(m.HasTag(DICOM_TAG_PATIENT_NAME));
   ASSERT_FALSE(m.HasTag(0x0010, 0x0010));
   m.SetValue(0x0010, 0x0010, "PatientName");
   ASSERT_TRUE(m.HasTag(DICOM_TAG_PATIENT_NAME));
   ASSERT_TRUE(m.HasTag(0x0010, 0x0010));
 
+  m.GetTags(s);
+  ASSERT_EQ(1, s.size());
+  ASSERT_EQ(DICOM_TAG_PATIENT_NAME, *s.begin());
+
   ASSERT_FALSE(m.HasTag(DICOM_TAG_PATIENT_ID));
   m.SetValue(DICOM_TAG_PATIENT_ID, "PatientID");
   ASSERT_TRUE(m.HasTag(0x0010, 0x0020));
   m.SetValue(DICOM_TAG_PATIENT_ID, "PatientID2");
   ASSERT_EQ("PatientID2", m.GetValue(0x0010, 0x0020).AsString());
 
+  m.GetTags(s);
+  ASSERT_EQ(2, s.size());
+
   m.Remove(DICOM_TAG_PATIENT_ID);
   ASSERT_THROW(m.GetValue(0x0010, 0x0020), OrthancException);
 
+  m.GetTags(s);
+  ASSERT_EQ(1, s.size());
+  ASSERT_EQ(DICOM_TAG_PATIENT_NAME, *s.begin());
+
   std::auto_ptr<DicomMap> mm(m.Clone());
   ASSERT_EQ("PatientName", mm->GetValue(DICOM_TAG_PATIENT_NAME).AsString());