]> Creatis software - clitk.git/commitdiff
mhd files are compared ignoring the ITK_InputFilterName line added by itkv4
authormpech <maxime.pech@insa-lyon.fr>
Mon, 26 Sep 2011 09:25:08 +0000 (11:25 +0200)
committermpech <maxime.pech@insa-lyon.fr>
Mon, 26 Sep 2011 09:25:08 +0000 (11:25 +0200)
tests/tools/toolTestRunner.cxx

index a4795ee8781fc1e6d4e73fb4b71bf55024a1019e..753aa37bcef992c0bccf53ff922ae6c3724aab86 100644 (file)
@@ -57,6 +57,39 @@ void assertFalse(int fail, const std::string &message=""){
     exit(1);
   }
 }
+bool isLineToIgnore(const std::string line){
+       if(std::string::npos == line.find_first_of("ITK_InputFilterName")){
+               return true;
+       }
+       return false;
+}
+bool mhdCmp(const std::string &file, const std::string &refFile){
+       bool sameFiles = true;
+       std::ifstream in(file.c_str());
+       std::ifstream ref(file.c_str());
+       std::string line;
+       std::string refLine;
+       while ( in.good() && ref.good()){
+               getline (in,line);
+               //does the line begins by an attribute to ignore
+               if(isLineToIgnore(line)){
+                       continue;
+               }
+               
+               getline(ref,refLine);
+               while(isLineToIgnore(refLine)){
+                       getline(ref,refLine);
+               }
+               if(line!=refLine){
+                       sameFiles = false;
+                       break;
+               }
+       }
+       in.close();
+       ref.close();
+       //check files same length
+       return sameFiles;
+}
 
 #ifdef _WIN32
 void dosToUnixFile(std::string dosFile, std::string unixedFile){
@@ -124,10 +157,10 @@ int main(int argc, char** argv){
        std::string unixedOutFile= getTmpFileName();
        //replace \r\n
        dosToUnixFile(outFile, unixedOutFile);
-       assertFalse((itksys::SystemTools::FilesDiffer(unixedOutFile.c_str(), refFile)), "Generated mhd file != ref File");
+       assertFalse(!mhdCmp(unixedOutFile, refFile), "Generated mhd file != ref File");
   remove(unixedOutFile.c_str());
 #else
-  assertFalse((itksys::SystemTools::FilesDiffer(outFile.c_str(), refFile)), "Generated mhd file != ref File");
+  assertFalse(!mhdCmp(outFile.c_str(), refFile), "Generated mhd file != ref File");
 #endif
   
   std::string refRawFile = mhdToRawName(strRefFile);