]> Creatis software - gdcm.git/blobdiff - Testing/TestFileAccessors.cxx
BUG: Hopefully fix pb on 64bits machine. Temp hack is to check what sieof of long...
[gdcm.git] / Testing / TestFileAccessors.cxx
index 5a55f1069e2ae9c58105ffa2254ee42f746074df..ff1ea02b56c25caff1782a85139d8b313976e619 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestFileAccessors.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/02/03 09:51:53 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2005/10/20 08:58:15 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include "gdcmFileHelper.h"
 #include "gdcmUtil.h"
 #include "gdcmCommon.h"
-#include "gdcmBinEntry.h"  
 #include "gdcmDocEntry.h" 
 #include "gdcmDocEntrySet.h"           
 #include "gdcmDocument.h"          
 #include "gdcmElementSet.h"        
 #include "gdcmSeqEntry.h" 
 #include "gdcmSQItem.h" 
-#include "gdcmValEntry.h" 
 
 #include <iostream>
 
 //Generated file:
 #include "gdcmDataImages.h"
 
+#define TestMethodMacro(mode,obj,name) \
+   try \
+   { \
+      std::cout << "   " << #name << "() : "      << mode << obj->name() << std::endl; \
+   } \
+   catch(...) \
+   { \
+      std::cout << "   --> Can't access to the '" << #name << "' method !" << std::endl; \
+      delete f; \
+      return 1; \
+   }
+
+
 int TestFileAccessors(int, char *[])
 {
    int i = 0;
@@ -50,85 +61,85 @@ int TestFileAccessors(int, char *[])
       std::string filename = GDCM_DATA_ROOT;
       filename += "/";  //doh!
       filename += gdcmDataImages[i];
-
-      gdcm::File *e1= new gdcm::File( filename );
+      
+      std::cout << "Begin with " << filename << std::endl;
+      gdcm::File *f= new gdcm::File( );
+      f->SetFileName( filename );
+      f->Load( );
 
 // We don't check the returned values
 // We just want to be sure no accessor seg faults on any image  ...
 // And this will improve test coverage ;-)
 
-      std::cout << "GetSwapCode()"      << e1->GetSwapCode()      << std::endl;
-      std::cout << "GetImageNumber()"   << e1->GetImageNumber()   << std::endl;
-      std::cout << "GetModality()"      << e1->GetModality()      << std::endl;
-      std::cout << "GetXSize()"         << e1->GetXSize()         << std::endl;
-      std::cout << "GetYSize()"         << e1->GetYSize()         << std::endl;
-      std::cout << "GetZSize()"         << e1->GetZSize()         << std::endl;
-      std::cout << "GetXSpacing()"      << e1->GetXSpacing()      << std::endl;
-      std::cout << "GetYSpacing()"      << e1->GetYSpacing()      << std::endl;
-      std::cout << "GetZSpacing()"      << e1->GetZSpacing()      << std::endl;
-      std::cout << "GetXOrigin()"       << e1->GetXOrigin()       << std::endl;
-      std::cout << "GetYOrigin()"       << e1->GetYOrigin()       << std::endl;
-      std::cout << "GetZOrigin()"       << e1->GetZOrigin()       << std::endl;
-      std::cout << "GetBitsStored()"    << e1->GetBitsStored()    << std::endl;
-      std::cout << "GetBitsAllocated()" << e1->GetBitsAllocated() << std::endl;
-      std::cout << "GetHighBitPosition()" << e1->GetHighBitPosition()  << std::endl;
-      std::cout << "GetSamplesPerPixel()" << e1->GetSamplesPerPixel()  << std::endl;
-      std::cout << "GetPlanarConfiguration()" << e1->GetPlanarConfiguration()    << std::endl;
-      std::cout << "GetPixelSize()"        << e1->GetPixelSize()        << std::endl;
-      std::cout << "GetPixelType()"        << e1->GetPixelType()        << std::endl;
-      std::cout << "GetLUTNbits()"         << e1->GetLUTNbits()         << std::endl;
-      std::cout << "GetRescaleIntercept()" << e1->GetRescaleIntercept() << std::endl;
-      std::cout << "GetRescaleSlope()"     << e1->GetRescaleSlope()     << std::endl;
-      std::cout << "GetGrPixel()"  << std::hex << e1->GetGrPixel()  << std::endl;
-      std::cout << "GetNumPixel()" << std::hex << e1->GetNumPixel() << std::endl;
-      std::cout << "GetPixelOffset()" << e1->GetPixelOffset() << std::endl;
-
-      std::cout << "GetPixelAreaLength()"     << e1->GetPixelAreaLength()<< std::endl;
-      std::cout << "GetNumberOfScalarComponents()"    << e1->GetNumberOfScalarComponents()<< std::endl;
-      std::cout << "GetNumberOfScalarComponentsRaw()" << e1->GetNumberOfScalarComponentsRaw()<< std::endl;
-      std::cout << "IsSignedPixelData()"      << e1->IsSignedPixelData()<< std::endl;
-      std::cout << "IsMonochrome()"           << e1->IsMonochrome()     << std::endl;
-      std::cout << "IsPaletteColor()"         << e1->IsPaletteColor()   << std::endl;
-      std::cout << "IsYBRFull()"              << e1->IsYBRFull()        << std::endl;
-      std::cout << "HasLut()   "              << e1->HasLUT()           << std::endl;
-      std::cout << "GetTransferSyntax()"      << e1->GetTransferSyntax()      << std::endl;
-      std::cout << "GetTransferSyntaxName()"  << e1->GetTransferSyntaxName()  << std::endl;
-      std::cout << "GetFileType()"            << e1->GetFileType()            << std::endl;
-      std::cout << "GetFileName()"            << e1->GetFileName()            << std::endl;
-
-      e1->GetImageOrientationPatient( iop );
+      TestMethodMacro(std::dec,f,GetSwapCode)
+      TestMethodMacro(std::dec,f,GetImageNumber)
+      TestMethodMacro(std::dec,f,GetModality)
+      TestMethodMacro(std::dec,f,GetXSize)
+      TestMethodMacro(std::dec,f,GetYSize)
+      TestMethodMacro(std::dec,f,GetZSize)
+      TestMethodMacro(std::dec,f,GetXSpacing)
+      TestMethodMacro(std::dec,f,GetYSpacing)
+      TestMethodMacro(std::dec,f,GetZSpacing)
+      TestMethodMacro(std::dec,f,GetXOrigin)
+      TestMethodMacro(std::dec,f,GetYOrigin)
+      TestMethodMacro(std::dec,f,GetZOrigin)
+      TestMethodMacro(std::dec,f,GetBitsStored)
+      TestMethodMacro(std::dec,f,GetBitsAllocated)
+      TestMethodMacro(std::dec,f,GetHighBitPosition)
+      TestMethodMacro(std::dec,f,GetSamplesPerPixel)
+      TestMethodMacro(std::dec,f,GetPlanarConfiguration)
+      TestMethodMacro(std::dec,f,GetPixelSize)
+      TestMethodMacro(std::dec,f,GetPixelType)
+      TestMethodMacro(std::dec,f,GetLUTNbits)
+      TestMethodMacro(std::dec,f,GetRescaleIntercept)
+      TestMethodMacro(std::dec,f,GetRescaleSlope)
+      TestMethodMacro(std::hex,f,GetGrPixel)
+      TestMethodMacro(std::hex,f,GetNumPixel)
+      TestMethodMacro(std::dec,f,GetPixelOffset)
+
+      TestMethodMacro(std::dec,f,GetPixelAreaLength)
+      TestMethodMacro(std::dec,f,GetNumberOfScalarComponents)
+      TestMethodMacro(std::dec,f,GetNumberOfScalarComponentsRaw)
+      TestMethodMacro(std::dec,f,IsSignedPixelData)
+      TestMethodMacro(std::dec,f,IsMonochrome)
+      TestMethodMacro(std::dec,f,IsPaletteColor)
+      TestMethodMacro(std::dec,f,IsYBRFull)
+      TestMethodMacro(std::dec,f,HasLUT)
+      TestMethodMacro(std::dec,f,GetTransferSyntax)
+      TestMethodMacro(std::dec,f,GetTransferSyntaxName)
+      TestMethodMacro(std::dec,f,GetFileType)
+      TestMethodMacro(std::dec,f,GetFileName)
+
+      f->GetImageOrientationPatient( iop );
+      std::cout << "   Orientation:" << std::endl;
       for (int j=0; j<6; j++)
-         std::cout << "iop[" << j << "] = " << iop[j] << std::endl;
+         std::cout << "      iop[" << j << "] = " << iop[j] << std::endl;
 
-      if( e1->IsReadable() )
+      if( f->IsReadable() )
       {
-         std::cout <<filename   << " is Readable" 
-                   << std::endl << std::endl;
+         std::cout << "   " << filename << " is Readable" << std::endl;
 
-         gdcm::FileHelper *fh1= new gdcm::FileHelper( e1 );   
+         gdcm::FileHelper *fh= new gdcm::FileHelper( f );   
 
-         // TODO : Newbe user would appreciate any comment !
-         std::cout << "GetImageDataSize()"    << fh1->GetImageDataSize()    << std::endl;
-         std::cout << "GetImageDataRawSize()" << fh1->GetImageDataRawSize() << std::endl;
-         // User Data
-         std::cout << "GetRGBDataSize()"      << fh1->GetRGBDataSize()      << std::endl;
-         std::cout << "GetRawDataSize()"      << fh1->GetRawDataSize()      << std::endl;
-         std::cout << "GetUserDataSize()"     << fh1->GetUserDataSize()     << std::endl;
-
-         std::cout << "GetWriteType()"        << fh1->GetWriteType()        << std::endl;
+         TestMethodMacro(std::dec,fh,GetImageDataSize)
+         TestMethodMacro(std::dec,fh,GetImageDataRawSize)
+         TestMethodMacro(std::dec,fh,GetRGBDataSize)
+         TestMethodMacro(std::dec,fh,GetRawDataSize)
+         TestMethodMacro(std::dec,fh,GetUserDataSize)
+         TestMethodMacro(std::dec,fh,GetWriteType)
  
-         delete fh1;
+         delete fh;
       }
       else
       {
          std::cout << filename << " is NOT Readable" 
                    << std::endl << std::endl;
-         delete e1;
+         delete f;
          return 1;
       }
 
-      delete e1;
+      delete f;
+      std::cout << "End with " << filename << std::endl;
       i++;
    }
    return 0;