]> Creatis software - clitk.git/blobdiff - tests/tools/clitkWriteDicomSeriesTest.cxx
tests with google tests coupled with cdash reporting
[clitk.git] / tests / tools / clitkWriteDicomSeriesTest.cxx
index 6f53ef5f832435b398c94e2d5d5914a973bb57bd..bc63080a459b6c104046b75ae4aba47dab66c8d5 100644 (file)
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
 ===========================================================================*/
-#include <cstdlib>
-#include <cstdio>
-
 #include <iostream>
 #include <sstream>
-#include <cassert>
-
+#include "gtest/gtest.h"
 #include <itksys/SystemTools.hxx>
-
-const size_t NUMTESTS=1;
-
-const char mhd_files[NUMTESTS][128] = {
-  CLITK_DATA_PATH"/3d/mhd/00.mhd"
-};
-
-const char dcm_dirs[NUMTESTS][128] = {
-  CLITK_DATA_PATH"/3d/dcm/1.2.840.113704.1.111.536.1248695032.26"
-};
-
-int main(int argc, char** argv)
-{
-  bool failed = false;
-  for (size_t i = 0; i < NUMTESTS; i++) {
-    std::ostringstream cmd_line;
-    cmd_line << "clitkWriteDicomSeries -i " << mhd_files[i] << " -d " << dcm_dirs[i] << " -o dcm --verbose";
-
-    std::cout << "Executing " << cmd_line.str() << std::endl;
-    int err = system(cmd_line.str().c_str());
-    if (err != 0)
-    {
-      failed = true;
-      std::cout << "FAILED (errno = " << err << ")" << std::endl;
-    }
-    else
-    {
-      itksys::SystemTools::RemoveADirectory("dcm");
-      std::cout << "PASSED" << std::endl;
-    }
-  }
-  return failed ? -1 : 0;
+TEST(clitkWriteDicomSeriesTest, main){
+  
+  std::string fIn=std::string(CLITK_DATA_PATH)+"/3d/mhd/00.mhd";
+  std::string fOut=std::string(CLITK_DATA_PATH)+"/3d/dcm/1.2.840.113704.1.111.536.1248695032.26";
+  ASSERT_TRUE(itksys::SystemTools::FileExists(fIn.c_str(), true));
+  std::ostringstream cmd_line;
+  cmd_line << TOOLS_PATH <<"clitkWriteDicomSeries -i " << fIn << " -d " << fOut << " -o dcm --verbose";
+  EXPECT_TRUE(itksys::SystemTools::FileExists(fOut.c_str(), false));
+  EXPECT_TRUE(itksys::SystemTools::FileExists("dcm", false));
+  EXPECT_EQ(0, system(cmd_line.str().c_str()));
+  //does directory exists
+  itksys::SystemTools::RemoveADirectory("dcm");
 }
\ No newline at end of file