FileNameTest.cpp 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "FileNameTest.h"
  2. using namespace std;
  3. using namespace NICE;
  4. CPPUNIT_TEST_SUITE_REGISTRATION( FileNameTest );
  5. void FileNameTest::setUp() {
  6. }
  7. void FileNameTest::tearDown() {
  8. }
  9. void FileNameTest::testFileName() {
  10. string path("/home/bajramov/VAMPIRE/");
  11. string basename("filename");
  12. string ext(".test");
  13. string name = basename + ext;
  14. string fileNameString = path + name;
  15. FileName fileName(fileNameString);
  16. CPPUNIT_ASSERT_EQUAL(fileNameString, fileName.str());
  17. CPPUNIT_ASSERT_EQUAL(path, fileName.extractPath().str());
  18. CPPUNIT_ASSERT_EQUAL(name, fileName.extractFileName().str());
  19. CPPUNIT_ASSERT_EQUAL(ext, fileName.extractExtension().str());
  20. CPPUNIT_ASSERT_EQUAL(false, fileName.isRelative() );
  21. FileName fileNameRelative(name);
  22. CPPUNIT_ASSERT_EQUAL(true, fileNameRelative.isRelative() );
  23. }
  24. void FileNameTest::testFileNameSlash() {
  25. string path("/home/bajramov/VAMPIRE");
  26. string pathSlash = path + "/";
  27. FileName fileName(path);
  28. fileName.addSlash();
  29. FileName fileNameSlash(pathSlash);
  30. fileNameSlash.removeSlash();
  31. CPPUNIT_ASSERT_EQUAL(path, fileNameSlash.str());
  32. CPPUNIT_ASSERT_EQUAL(pathSlash, fileName.str());
  33. CPPUNIT_ASSERT_EQUAL(false, fileName.isRelative() );
  34. CPPUNIT_ASSERT_EQUAL(false, fileNameSlash.isRelative() );
  35. }
  36. void FileNameTest::testPathRelative() {
  37. FileName fileName;
  38. // absolute pathes
  39. fileName.set("");
  40. CPPUNIT_ASSERT_EQUAL(false, fileName.isRelative() );
  41. fileName.set("/home/user/temporary.ext");
  42. CPPUNIT_ASSERT_EQUAL(false, fileName.isRelative() );
  43. fileName.set("/home/user/");
  44. CPPUNIT_ASSERT_EQUAL(false, fileName.isRelative() );
  45. fileName.set("/tmp/tmp.ect");
  46. CPPUNIT_ASSERT_EQUAL(false, fileName.isRelative() );
  47. // relative pathes and files
  48. fileName.set("temporary.ext");
  49. CPPUNIT_ASSERT_EQUAL(true, fileName.isRelative() );
  50. fileName.set("./");
  51. CPPUNIT_ASSERT_EQUAL(true, fileName.isRelative() );
  52. fileName.set("./temporary.ext");
  53. CPPUNIT_ASSERT_EQUAL(true, fileName.isRelative() );
  54. fileName.set("../temporary.ext");
  55. CPPUNIT_ASSERT_EQUAL(true, fileName.isRelative() );
  56. fileName.set("../../temporary.ext");
  57. CPPUNIT_ASSERT_EQUAL(true, fileName.isRelative() );
  58. fileName.set("../../temporary.ext");
  59. CPPUNIT_ASSERT_EQUAL(true, fileName.isRelative() );
  60. }