// FileDirectory_t.cxx #include "dataset_util/FileDirectory.h" #include "dataset_util/mkdir.h" #include #include using std::string; using std::cout; using std::endl; int FileDirectory_t() { system("rm -rf testdir"); mkdir("testdir"); mkdir("testdir/mydir1"); mkdir("testdir/mydir2"); system("touch testdir/file1.dat"); system("touch testdir/file2.dat"); system("touch testdir/file3.dat"); FileDirectory dir("testdir"); cout << dir << endl; assert( dir.is_valid() ); assert( dir.status().is_readable() ); assert( dir.status().is_writeable() ); assert( dir.status().is_directory() ); assert( dir.file_names().size() == 5 ); assert( dir.files().size() == 5 ); assert( dir.subdir_names().size() == 2 ); assert( dir.subdirs().size() == 2 ); assert( dir.prepend("myfile") == "testdir/myfile"); assert( dir.find("myfile") == ""); assert( dir.find("file1.dat") == "testdir/file1.dat"); return 0; } #ifdef CTEST_MAIN int main() { return FileDirectory_t(); } #endif