X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestDataEntry.cxx;h=05755d35b1599d2eff7e97d87e808a574553c890;hb=HEAD;hp=7c2977c65753c98222f4ae888491c78df3577c0b;hpb=6a7c2fbcb5bfc240a3b9875ad4836f5dc058e069;p=gdcm.git diff --git a/Testing/TestDataEntry.cxx b/Testing/TestDataEntry.cxx index 7c2977c6..05755d35 100644 --- a/Testing/TestDataEntry.cxx +++ b/Testing/TestDataEntry.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestDataEntry.cxx,v $ Language: C++ - Date: $Date: 2005/10/20 15:24:05 $ - Version: $Revision: 1.5 $ + Date: $Date: 2008/09/15 15:49:21 $ + 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 @@ -17,35 +17,44 @@ =========================================================================*/ #include "gdcmDictEntry.h" #include "gdcmDataEntry.h" +#include // =============================================================== -char data[]="1\\2\\3\\4\\5"; -char fdata[]="1.1\\2.2\\3.3\\4.4\\5.5"; +const char data[] = "1\\2\\3\\4\\5"; +const char fdata[] = "1.1\\2.2\\3.3\\4.4\\5.5"; -short svalue[]={1,2,3,4,5}; -long lvalue[]={1,2,3,4,5}; -float fvalue[]={1.1f,2.2f,3.3f,4.4f,5.5f}; -double dvalue[]={1.1,2.2,3.3,4.4,5.5}; +const int16_t svalue[]={1,2,3,4,5}; +const int32_t lvalue[]={1,2,3,4,5}; +const float fvalue[]={1.1f,2.2f,3.3f,4.4f,5.5f}; +const double dvalue[]={1.1,2.2,3.3,4.4,5.5}; -unsigned long nbvalue = 5; +const unsigned long nbvalue = 5; +const double GDCM_EPS = 1e-6; /** * \brief Test the DataEntry object */ int TestDataEntry(int , char *[]) { + /* Most of the tests are out of date! + (we don't use any longer DictEntry to build a DocEntry! + unsigned int i; - gdcm::DictEntry *dict; - gdcm::DataEntry *entry; - - //------------------------------------------------------------------ - dict = gdcm::DictEntry::New(0x0000,0x0000); - entry = new gdcm::DataEntry(dict); - dict->SetVR("US"); + GDCM_NAME_SPACE::DictEntry *dict; + GDCM_NAME_SPACE::DataEntry *entry; + + dict = GDCM_NAME_SPACE::DictEntry::New(0x0003,0x0004); + // SetVR *before* making the DataEntry! + dict->SetVR("US"); + entry = GDCM_NAME_SPACE::DataEntry::New(dict); std::cout << "Test for VR = " << dict->GetVR() << "..." << std::endl; + std::cout << "TagKey : [" << entry->GetKey() << "]" << std::endl; + std::cout << "Group : [" << entry->GetGroup() << "]" << std::endl; + std::cout << "Element : [" << entry->GetElement() << "]" << std::endl; + entry->SetString("1"); std::cout << "1: "; entry->Print(std::cout); @@ -57,8 +66,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: 1" << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } entry->SetString("1\\2"); @@ -72,8 +81,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: 2" << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } entry->SetString(""); @@ -87,18 +96,19 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: 0" << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } std::cout << std::endl; dict->Delete(); - delete entry; + entry->Delete(); //------------------------------------------------------------------ - dict = gdcm::DictEntry::New(0x0000,0x0000); - entry = new gdcm::DataEntry(dict); + dict = GDCM_NAME_SPACE::DictEntry::New(0x0000,0x0000); + // SetVR *before* making the DataEntry! dict->SetVR("LT"); + entry = GDCM_NAME_SPACE::DataEntry::New(dict); std::cout << "Test for VR = " << dict->GetVR() << "..." << std::endl; entry->SetString(data); @@ -112,8 +122,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetLength() << " - Must be: " << strlen(data) + strlen(data)%2 << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -122,16 +132,16 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( memcmp(entry->GetBinArea(),data,entry->GetLength()) != 0 ) { std::cout << " Failed" << std::endl << " Content of bin area is incorrect" << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( memcmp(entry->GetString().c_str(),data,entry->GetLength()) != 0 ) { @@ -140,8 +150,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << data << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -152,19 +162,21 @@ int TestDataEntry(int , char *[]) << " Found " << entry->GetValue(i) << " - Must be " << svalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } std::cout << std::endl; dict->Delete(); - delete entry; + entry->Delete(); //------------------------------------------------------------------ - dict = gdcm::DictEntry::New(0x0000,0x0000); - entry = new gdcm::DataEntry(dict); + dict = GDCM_NAME_SPACE::DictEntry::New(0x0000,0x0000); + // SetVR *before* making the DataEntry! dict->SetVR("US"); + entry = GDCM_NAME_SPACE::DataEntry::New(dict); + std::cout << "Test for VR = " << dict->GetVR() << "..." << std::endl; entry->SetString(data); @@ -179,8 +191,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetLength() << " - Must be: " << nbvalue*sizeof(uint16_t) << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( memcmp(entry->GetString().c_str(),data,strlen(data)) != 0 ) { @@ -189,8 +201,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << data << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -199,8 +211,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -211,8 +223,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << svalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } @@ -229,8 +241,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << data << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -239,8 +251,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -251,19 +263,19 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << svalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } std::cout << std::endl; dict->Delete(); - delete entry; + entry->Delete(); //------------------------------------------------------------------ - dict = gdcm::DictEntry::New(0x0000,0x0000); - entry = new gdcm::DataEntry(dict); + dict = GDCM_NAME_SPACE::DictEntry::New(0x0000,0x0000); dict->SetVR("UL"); + entry = GDCM_NAME_SPACE::DataEntry::New(dict); std::cout << "Test for VR = " << dict->GetVR() << "..." << std::endl; entry->SetString(data); @@ -278,8 +290,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetLength() << " - Must be: " << nbvalue*sizeof(uint32_t) << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( memcmp(entry->GetString().c_str(),data,strlen(data)) != 0 ) { @@ -288,8 +300,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << data << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -298,8 +310,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -310,8 +322,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << lvalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } @@ -328,8 +340,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << data << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -338,8 +350,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -350,19 +362,19 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << lvalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } std::cout << std::endl; dict->Delete(); - delete entry; + entry->Delete(); //------------------------------------------------------------------ - dict = gdcm::DictEntry::New(0x0000,0x0000); - entry = new gdcm::DataEntry(dict); + dict = GDCM_NAME_SPACE::DictEntry::New(0x0000,0x0000); dict->SetVR("FL"); + entry = GDCM_NAME_SPACE::DataEntry::New(dict); std::cout << "Test for VR = " << dict->GetVR() << "..." << std::endl; entry->SetString(fdata); @@ -377,8 +389,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetLength() << " - Must be: " << nbvalue*sizeof(float) << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( memcmp(entry->GetString().c_str(),fdata,strlen(fdata)) != 0 ) { @@ -387,8 +399,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << fdata << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -397,8 +409,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -409,8 +421,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << fvalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } @@ -427,8 +439,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << fdata << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -437,8 +449,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -449,19 +461,19 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << fvalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } std::cout << std::endl; dict->Delete(); - delete entry; + entry->Delete(); //------------------------------------------------------------------ - dict = gdcm::DictEntry::New(0x0000,0x0000); - entry = new gdcm::DataEntry(dict); + dict = GDCM_NAME_SPACE::DictEntry::New(0x0000,0x0000); dict->SetVR("FD"); + entry = GDCM_NAME_SPACE::DataEntry::New(dict); std::cout << "Test for VR = " << dict->GetVR() << "..." << std::endl; entry->SetString(fdata); @@ -476,8 +488,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetLength() << " - Must be: " << nbvalue*sizeof(double) << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( memcmp(entry->GetString().c_str(),fdata,strlen(fdata)) != 0 ) { @@ -486,8 +498,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << fdata << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -496,20 +508,22 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { - if( entry->GetValue(i) != dvalue[i] ) + // Never compare floating point value... + double dif = fabs(entry->GetValue(i) - dvalue[i]); + if( dif > GDCM_EPS) { std::cout << " Failed" << std::endl << " Content of entry's values is incorrect : id " << i << std::endl << " Found: " << entry->GetValue(i) << " - Must be: " << dvalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } @@ -526,8 +540,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetString().c_str() << " - Must be: " << fdata << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } if( entry->GetValueCount() != nbvalue ) { @@ -536,8 +550,8 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValueCount() << " - Must be: " << nbvalue << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } for(i=0;iGetValueCount();i++) { @@ -548,16 +562,17 @@ int TestDataEntry(int , char *[]) << " Found: " << entry->GetValue(i) << " - Must be: " << dvalue[i] << std::endl; dict->Delete(); - delete entry; - return(1); + entry->Delete(); + return 1; } } std::cout << std::endl; dict->Delete(); - delete entry; + entry->Delete(); //------------------------------------------------------------------ std::cout<