]> Creatis software - gdcm.git/blobdiff - Testing/TestUtil.cxx
Avois some warnings
[gdcm.git] / Testing / TestUtil.cxx
index 969d28d78bf0af57e1c05ac67172f9f17b7f1c27..ef1ab6288c9329cca4658bbe5afb851924b004f0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestUtil.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/27 12:02:26 $
-  Version:   $Revision: 1.9 $
+  Date:      $Date: 2006/05/31 16:25:09 $
+  Version:   $Revision: 1.20 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include "gdcmDebug.h"
 #include <iostream>
 
-int TestUtil(int , char * [])
+int TestUtil(int , char *[])
 {
+   unsigned int i;
+
+   // Seeing at a glance HOW int16, int32, float, double, 
+   // are implanted in memory
+   uint16_t u16 = 0x0102;
+   uint32_t u32 = 0x01020304;
+   float flt;
+   double dbl=1.0;
+
+   std::cout << "This is gdcm version: " << gdcm::Util::GetVersion() << std::endl;
+
+   std::cout << "---------- uint16 : " << std::dec << u16 << " = 0x" 
+             << std::hex << u16 << std::endl;
+   for (i=0;i<sizeof(uint16_t);i++) 
+   {
+      std::cout << std::hex <<"[" <<(uint16_t)((uint8_t*)&u16)[i] << "] " ;
+     // printf("[%0x]\n",((uint8_t*)&u16)[i]);
+   }
+   std::cout << std::endl;
+
+   std::cout << "---------- unit32 : "<< std::dec << u32 << " = 0x" 
+             << std::hex << u32 << std::endl;
+   for (i=0;i<sizeof(uint32_t);i++) 
+   {
+      std::cout << std::hex <<"[" <<(uint32_t)((uint8_t*)&u32)[i] << "] " ;
+   }
+   std::cout << std::endl;
+   std::cout << std::endl;
+   std::cout << "------------------- float -----------------" << std::endl;
+   std::cout << std::endl;
+   flt = -5;
+   int k;   
+   for (k=0; k<11;k++)
+   {
+      std::cout << "--- " << flt 
+             // << " = 0x" 
+             // << std::hex << (float *)&flt << std::endl;   
+             // << std::hex << (int)(float *)&flt << std::endl;
+             // << std::hex << flt 
+                << std::endl;
+      for (i=0;i<sizeof(float);i++) 
+      {
+         std::cout << std::hex <<"[" <<(uint16_t)((uint8_t*)&flt)[i] << "] " ;
+      }
+      flt += 1.0;
+      std::cout << std::endl;
+   }
+
+   std::cout << std::endl;
+   std::cout << std::endl;
+   std::cout << "--------------------- double ----------------" << std::endl;
+   std::cout << std::endl;
+
+   dbl = -5.0;
+   for (k=0; k<11; k++)
+   {
+      std::cout << "---  " << std::dec << dbl
+                << std::endl;
+      for (i=0;i<sizeof(double);i++) 
+      {
+         std::cout << std::hex <<"[" <<(uint16_t)((uint8_t*)&dbl)[i] << "] " ;
+      }
+      std::cout << std::endl;
+      dbl += 1.0;
+   }
+
+
+   std::cout << "Size of short int  " << sizeof(short int) << std::endl;
+   std::cout << "Size of int  "       << sizeof(int)       << std::endl;
+   std::cout << "Size of int* "       << sizeof(int*)      << std::endl;
+   std::cout << "Size of long "       << sizeof(long)      << std::endl;
+   std::cout << "Size of float"       << sizeof(float)     << std::endl;
+   std::cout << "Size of double"      << sizeof(double)    << std::endl;
+
+   // CreateCleanString
+   std::string x = "a#@-bc\tdef";
+   std::string y = gdcm::Util::CreateCleanString(x);
+   std::cout << "Clean : [" << x <<"] --> [" << y <<"]" << std::endl;
+
+
+   // CountSubstring : substring id "#@-"
+   x = "abcd#@-wyz*@-lmn#@-uvw-#@ijk";
+   std::cout << "in [" << x << "] " << std::endl; 
+   std::cout << " - count '#@-' : " 
+             << gdcm::Util::CountSubstring(x, "#@-") << std::endl;
+
+   // Tokenize : tokens are '#', '@', '-'
+   std::vector<std::string> tokens;
+   std::cout << " - use tokens '#@-' :" << std::endl;
+   gdcm::Util::Tokenize (x, tokens, "#@-");
+   for (unsigned int ui=0; ui<tokens.size();ui++)
+   {
+      std::cout << "[" << tokens[ui] << "]" << std::endl;
+   }
+   tokens.clear();
+
    // Time 
    std::cout << "Time:" << gdcm::Util::GetCurrentDateTime() << std::endl;
 
@@ -37,7 +133,7 @@ int TestUtil(int , char * [])
 
    // Unique UID test
    std::string gdcmUid;
-   for (int i=0; i<10; i++)
+   for (i=0; i<10; i++)
    {
       gdcmUid = gdcm::Util::CreateUniqueUID();
       std::cout << "Current UID for gdcm " <<  gdcmUid << std::endl;
@@ -63,7 +159,7 @@ int TestUtil(int , char * [])
 // ----------------------------------------------------------
 // Let's test gdcm::Debug, now.
     std::cout << "GetDebugFlag : " << gdcm::Debug::GetDebugFlag() <<std::endl;
-    gdcm::Debug::SetDebugFilename ("DummyFileNameToWriteTo.txt");
+    gdcm::Debug::SetOutputFileName ("DummyFileNameToWriteTo.txt");
     std::cout << "We set a Debug file"   <<std::endl;
     if ( !gdcm::Debug::GetDebugFlag() )
     {
@@ -73,7 +169,23 @@ int TestUtil(int , char * [])
     std::cout << "GetDebugFlag : " << gdcm::Debug::GetDebugFlag()<<std::endl;
     gdcm::Debug::SetDebugFlag ( false );
     std::cout << "GetDebugFlag : " << gdcm::Debug::GetDebugFlag()<<std::endl;
-    gdcm::Debug::SetDebugFilename ("DummyFileNameToWriteTo2.txt");    
+    gdcm::Debug::SetOutputFileName ("DummyFileNameToWriteTo2.txt");    
 
+    std::string s1;
+    s1="azertyuiop";
+    std::cout << s1 << " --> MD5 : " << gdcm::Util::ConvertToMD5(s1)
+              <<std::endl;
+    s1="azertyuiom";    
+    std::cout <<  s1 << " --> MD5 : " << gdcm::Util::ConvertToMD5(s1)
+              <<std::endl;
+    s1="azertyuipo";
+    std::cout <<  s1 << " --> MD5 : " << gdcm::Util::ConvertToMD5(s1)
+              <<std::endl;
+    s1="qzertyuiop";
+    std::cout <<  s1 << " --> MD5 : " << gdcm::Util::ConvertToMD5(s1)
+              <<std::endl; 
+    s1="zaertyuiop";
+    std::cout <<  s1 << " --> MD5 : " << gdcm::Util::ConvertToMD5(s1)
+              <<std::endl;         
    return 0;
 }