diff options
Diffstat (limited to 'test/SingleFileAllocationIteratorTest.cc')
| -rw-r--r-- | test/SingleFileAllocationIteratorTest.cc | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/test/SingleFileAllocationIteratorTest.cc b/test/SingleFileAllocationIteratorTest.cc index 050d0a19..4cdb7d39 100644 --- a/test/SingleFileAllocationIteratorTest.cc +++ b/test/SingleFileAllocationIteratorTest.cc @@ -1,7 +1,6 @@ #include "SingleFileAllocationIterator.h" #include "File.h" #include "DefaultDiskWriter.h" -#include "DirectDiskAdaptor.h" #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> @@ -31,38 +30,24 @@ void SingleFileAllocationIteratorTest::testAllocate() string fname = "aria2_SingleFileAllocationIteratorTest_testAllocate"; string fn = dir+"/"+fname; ofstream of(fn.c_str()); - of << "0123456789"; - of.close(); File x(fn); CPPUNIT_ASSERT_EQUAL((int64_t)10, x.size()); - - DefaultDiskWriterHandle writer = new DefaultDiskWriter(); - DirectDiskAdaptorHandle diskAdaptor = new DirectDiskAdaptor(); - diskAdaptor->setDiskWriter(writer); - diskAdaptor->setTotalLength(16*1024*2+8*1024); - diskAdaptor->setStoreDir(dir); - FileEntryHandle fileEntry = new FileEntry(fname, - diskAdaptor->getTotalLength(), - 0); - FileEntries fs; - fs.push_back(fileEntry); - diskAdaptor->setFileEntries(fs); + DefaultDiskWriter writer; + int64_t offset = 10; + int64_t totalLength = 16*1024*2+8*1024; // we have to open file first. - diskAdaptor->openFile(); - SingleFileAllocationIteratorHandle itr = diskAdaptor->fileAllocationIterator(); - - itr->allocateChunk(); - CPPUNIT_ASSERT(!itr->finished()); - itr->allocateChunk(); - CPPUNIT_ASSERT(!itr->finished()); - itr->allocateChunk(); - CPPUNIT_ASSERT(itr->finished()); + writer.openExistingFile(fn); + SingleFileAllocationIterator itr(&writer, offset, totalLength); + itr.init(); + while(!itr.finished()) { + itr.allocateChunk(); + } File f(fn); CPPUNIT_ASSERT_EQUAL((int64_t)40960, f.size()); } |
