X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tests%2Ftools%2FclitkImageInfoTest.cxx;h=a2ab2b56f61fb87c4d5ec22af4b83bff383094ba;hb=837aef6981c3be047edeca988ef538cbcc1a1f71;hp=e7cc921d49d54534c91570d8e8efd652d9ba5dbf;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/tests/tools/clitkImageInfoTest.cxx b/tests/tools/clitkImageInfoTest.cxx index e7cc921..a2ab2b5 100644 --- a/tests/tools/clitkImageInfoTest.cxx +++ b/tests/tools/clitkImageInfoTest.cxx @@ -15,57 +15,30 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html ===========================================================================*/ -#include -#include - #include #include #include - +#include +#include "gtest/gtest.h" +#include "stdio.h" #include - - -const size_t NUMTESTS=2; - -// test files -const char mhd_files[NUMTESTS][128] = { - CLITK_DATA_PATH"/4d/mhd/00.mhd", - CLITK_DATA_PATH"/4d/mhd/bh.mhd" -}; - -// 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] = { - CLITK_DATA_PATH"/tools/clitkImageInfoTestValidate3D.out", - CLITK_DATA_PATH"/tools/clitkImageInfoTestValidate4D.out" -}; - -int main(int argc, char** argv) -{ - system("pwd"); +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()); - 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; + 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