DirectDiskAdaptorTest.cc 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "DirectDiskAdaptor.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. #include "FileEntry.h"
  4. #include "DefaultDiskWriter.h"
  5. #include "Exception.h"
  6. #include "util.h"
  7. #include "TestUtil.h"
  8. namespace aria2 {
  9. class DirectDiskAdaptorTest:public CppUnit::TestFixture {
  10. CPPUNIT_TEST_SUITE(DirectDiskAdaptorTest);
  11. CPPUNIT_TEST(testCutTrailingGarbage);
  12. CPPUNIT_TEST_SUITE_END();
  13. public:
  14. void setUp() {}
  15. void tearDown() {}
  16. void testCutTrailingGarbage();
  17. };
  18. CPPUNIT_TEST_SUITE_REGISTRATION(DirectDiskAdaptorTest);
  19. void DirectDiskAdaptorTest::testCutTrailingGarbage()
  20. {
  21. std::string dir = A2_TEST_OUT_DIR;
  22. SharedHandle<FileEntry> entry
  23. (new FileEntry(dir+"/aria2_DirectDiskAdaptorTest_testCutTrailingGarbage",
  24. 256, 0));
  25. createFile(entry->getPath(), entry->getLength()+100);
  26. std::vector<SharedHandle<FileEntry> > fileEntries;
  27. fileEntries.push_back(entry);
  28. DirectDiskAdaptor adaptor;
  29. adaptor.setDiskWriter
  30. (SharedHandle<DiskWriter>(new DefaultDiskWriter(entry->getPath())));
  31. adaptor.setTotalLength(entry->getLength());
  32. adaptor.setFileEntries(fileEntries.begin(), fileEntries.end());
  33. adaptor.openFile();
  34. adaptor.cutTrailingGarbage();
  35. CPPUNIT_ASSERT_EQUAL((uint64_t)entry->getLength(),
  36. File(entry->getPath()).size());
  37. }
  38. } // namespace aria2