-#include <cstdlib>
-#include <cstdio>
+/*=========================================================================
+ Program: vv http://www.creatis.insa-lyon.fr/rio/vv
-#include <iostream>
-#include <sstream>
-#include <cassert>
-
-#include <itksys/SystemTools.hxx>
-
-const size_t NUMTESTS=2;
+ Authors belong to:
+ - University of LYON http://www.universite-lyon.fr/
+ - Léon Bérard cancer center http://www.centreleonberard.fr
+ - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
-// test files
-const char mhd_files[NUMTESTS][128] = {
- "data/4d/mhd/00.mhd",
- "data/4d/mhd/bh.mhd"
-};
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the copyright notices for more information.
-// pre-written validation files. the idea
-// is that the output generated from the test
-// files match the verification files
-const char validation_files[NUMTESTS][128] = {
- "data/tools/clitkImageInfoTestValidate3D.out",
- "data/tools/clitkImageInfoTestValidate4D.out"
-};
+ It is distributed under dual licence
-int main(int argc, char** argv)
-{
- bool failed = false;
- for (size_t i = 0; i < NUMTESTS; i++) {
- std::ostringstream cmd_line;
- cmd_line << "clitkImageInfo " << mhd_files[i] << " > clitkImageInfoTest.out";
-
- std::cout << "Executing " << cmd_line.str() << std::endl;
- system(cmd_line.str().c_str());
-
- // compare output with validation file
- std::cout << "Validating output against " << validation_files[i] << std::endl;
- bool differ = itksys::SystemTools::FilesDiffer("clitkImageInfoTest.out", validation_files[i]);
- if (differ)
- {
- failed = true;
- std::cout << "FAILED: Program output and reference do not match." << std::endl;
- }
- else
- {
- itksys::SystemTools::RemoveFile("clitkImageInfoTest.out");
- std::cout << "PASSED" << std::endl;
- }
- }
- return failed ? -1 : 0;
+ - BSD See included LICENSE.txt file
+ - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+===========================================================================*/
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <fstream>
+#include "gtest/gtest.h"
+#include "stdio.h"
+#include <itksys/SystemTools.hxx>
+static inline void compare(std::string mhd, std::string ref){
+ std::ostringstream cmd_line;
+ cmd_line << CLITK_TEST_TOOLS_PATH<<"clitkImageInfo " << mhd << " > clitkImageInfoTest.out";
+ system(cmd_line.str().c_str());
+
+ EXPECT_FALSE( itksys::SystemTools::FilesDiffer("clitkImageInfoTest.out", ref.c_str()) );
+ remove("clitkImageInfoTest.out");
+}
+TEST(clitkImageInfoTest, main){
+ std::string mhd1=std::string(CLITK_TEST_DATA_PATH)+"Deformation4D.mhd";
+ ASSERT_TRUE(itksys::SystemTools::FileExists(mhd1.c_str(), true));
+
+ std::string mhd2=std::string(CLITK_TEST_DATA_PATH)+"Lung3D.mhd";
+ ASSERT_TRUE(itksys::SystemTools::FileExists(mhd2.c_str(), true));
+
+ mhd1+=" "+mhd2;
+ std::string ref1=std::string(CLITK_TEST_DATA_PATH)+"clitkImageInfoTestRef.out";
+ ASSERT_TRUE(itksys::SystemTools::FileExists(ref1.c_str(), true));
+ compare(mhd1, ref1);
}
\ No newline at end of file