]> Creatis software - gdcm.git/blobdiff - Testing/TestDict.cxx
Fix mistypings
[gdcm.git] / Testing / TestDict.cxx
index cd0601e60d5857a1a51bdc0136d83d67e6562779..aa6b1ffd5f57106521535e3c5dcd0d923497cd49 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestDict.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/14 11:28:29 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2007/05/23 14:18:06 $
+  Version:   $Revision: 1.13 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include <iostream>
 #include <iomanip>
 
-int TestDict(int argc, char* argv[])
-{  
+int TestDict(int , char *[])
+{ 
+
+   std::cout << "----- Test Default Dicom Dictionary : ----------" << std::endl;
+   // Just to improve test coverage:
+   GDCM_NAME_SPACE::Dict *tempDict = GDCM_NAME_SPACE::Dict::New("dummyFileNameThatDoesntExist");
+   // Default dict is supposed to be used.
+   tempDict->Print();
+   std::cout << "---- end Test Default Dicom Dictionary : -------" << std::endl;
+
+   // Lets delete it.
+   tempDict->Delete();
+
    // Print the DictSet
    std::cout<<"#######################################################\n";
-   gdcm::DictSet *dicts=gdcm::Global::GetDicts();
+   GDCM_NAME_SPACE::DictSet *dicts=GDCM_NAME_SPACE::Global::GetDicts();
    if(!dicts)
    {
-      std::cout<<"The DictSet hasn't be found... Failed\n";
+      std::cout<<"DictSet hasn't be found... Failed\n";
       return(1);
    }
+
    std::cout<<"DictSet content :\n";
-//   dicts->Print(std::cout);
+
+   GDCM_NAME_SPACE::Dict *d = dicts->GetFirstDict();
+   if (!d)
+   {
+      std::cout << "Dictset is empty" << std::endl;
+      return 1;
+   }
+
+   std::cout << "----------- Print DictSet contents: ----------" << std::endl;
+   dicts->Print();
+   std::cout << "----------- End Print DictSet contents: ------" << std::endl;
+
+   while (d)
+   {
+      std::cout << "------------- a Dict is found : ----------" << std::endl;
+      d->Print();
+      d = dicts->GetNextDict();
+   }
 
    // Print the Dict (public)
    std::cout<<"#######################################################\n";
-   gdcm::Dict *pubDict=dicts->GetDefaultPubDict();
+   GDCM_NAME_SPACE::Dict *pubDict=dicts->GetDefaultPubDict();
    if(!pubDict)
    {
       std::cout<<"The public Dict hasn't be found... Failed\n";
       return(1);
    }
    std::cout<<"Public Dict content :\n";
-//   pubDict->Print(std::cout);
+//   pubDict->Print();
 
    // Print the DictEntry (0x10,0x20)
    std::cout<<"#######################################################\n";
    const int ENTRY_GR = 0x10;
    const int ENTRY_EL = 0x20;
-   std::string key=gdcm::DictEntry::TranslateToKey(ENTRY_GR,ENTRY_EL);
-   gdcm::DictEntry *entry=pubDict->GetDictEntry(ENTRY_GR,ENTRY_EL);
+   GDCM_NAME_SPACE::TagKey key = GDCM_NAME_SPACE::DictEntry::TranslateToKey(ENTRY_GR,ENTRY_EL);
+   GDCM_NAME_SPACE::DictEntry *entry=pubDict->GetEntry(ENTRY_GR,ENTRY_EL);
    if(!entry)
    {
       std::cout<<"The DictEntry hasn't be found... Failed\n";
       return(1);
    }
    std::cout<<"Entry "<<key<<" content :\n";
-   entry->Print(std::cout);
+   entry->Print();
 
    // Print all the DictEntry
    std::cout<<"#######################################################\n";
-   pubDict->InitTraversal();
-   entry=pubDict->GetNextEntry();
+   entry=pubDict->GetFirstEntry();
    while(entry)
    {
-      entry->Print(std::cout);
+      std::cout << std::hex << entry->GetGroup() << "|" << entry->GetElement()
+                << " [" << entry->GetVR() << "] - VM [" << entry->GetVM()
+                << "] : " << entry->GetName() << " ( " << entry->GetKey() << ")\n";
       entry=pubDict->GetNextEntry();
    }
 
+/*   // Let's play with DicEntry stuff !
+   // First, we try to break an Entry.
+   entry=pubDict->GetFirstEntry();
+   entry->SetVR("PN");
+   // Should warn us !*/
+
    return(0);
 }