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){
}
#endif
+
+std::string mhdToRawName(const std::string &mhdName){
+ int found = mhdName.find_last_of(".");
+ return mhdName.substr(0, found)+".raw";
+}
/**
* argv
* [1] executable
int main(int argc, char** argv){
//reference file must exist or we fail
char* refFile = argv[argc-1];
- assertFalse(!(itksys::SystemTools::FileExists(refFile, true)), "refFile "+std::string(refFile)+" doesn't exist");
+ std::string strRefFile = std::string(refFile);
+ assertFalse(!(itksys::SystemTools::FileExists(refFile, true)), "refFile "+strRefFile+" doesn't exist");
std::ostringstream cmd_line;
cmd_line<<CLITK_TEST_TOOLS_PATH;
//run the command line
system(cmd_line.str().c_str());
+ assertFalse(!itksys::SystemTools::FileExists(outFile.c_str(), true), "no mhd have been generated");
//compare source files
#ifdef _WIN32
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);
+ std::string rawFile = mhdToRawName(outFile);
-
- //eventually raw files associated
- //should be passed as a boolean to check also for raw or not
- std::string refRawFile = std::string(refFile)+".raw";
-
- int found=outFile.find_last_of(".");
- std::string rawFile = outFile.substr(0, found)+".raw";
if((itksys::SystemTools::FileExists(refRawFile.c_str(), true))){
//compare the raw stuff
if((itksys::SystemTools::FileExists(rawFile.c_str(), true))){