| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- #include "WrDiskCacheEntry.h"
 
- #include <cstring>
 
- #include <cppunit/extensions/HelperMacros.h>
 
- #include "TestUtil.h"
 
- #include "DirectDiskAdaptor.h"
 
- #include "ByteArrayDiskWriter.h"
 
- namespace aria2 {
 
- class WrDiskCacheEntryTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(WrDiskCacheEntryTest);
 
-   CPPUNIT_TEST(testWriteToDisk);
 
-   CPPUNIT_TEST(testAppend);
 
-   CPPUNIT_TEST(testClear);
 
-   CPPUNIT_TEST_SUITE_END();
 
-   SharedHandle<DirectDiskAdaptor> adaptor_;
 
-   SharedHandle<ByteArrayDiskWriter> writer_;
 
- public:
 
-   void setUp()
 
-   {
 
-     adaptor_.reset(new DirectDiskAdaptor());
 
-     writer_.reset(new ByteArrayDiskWriter());
 
-     adaptor_->setDiskWriter(writer_);
 
-   }
 
-   void testWriteToDisk();
 
-   void testAppend();
 
-   void testClear();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION( WrDiskCacheEntryTest );
 
- void WrDiskCacheEntryTest::testWriteToDisk()
 
- {
 
-   WrDiskCacheEntry e(adaptor_);
 
-   e.cacheData(createDataCell(0, "??01234567", 2));
 
-   e.cacheData(createDataCell(8, "890"));
 
-   e.writeToDisk();
 
-   CPPUNIT_ASSERT_EQUAL((size_t)0, e.getSize());
 
-   CPPUNIT_ASSERT_EQUAL(std::string("01234567890"), writer_->getString());
 
- }
 
- void WrDiskCacheEntryTest::testAppend()
 
- {
 
-   WrDiskCacheEntry e(adaptor_);
 
-   WrDiskCacheEntry::DataCell* cell = new WrDiskCacheEntry::DataCell();
 
-   cell->goff = 0;
 
-   size_t capacity = 6;
 
-   size_t offset = 2;
 
-   cell->data = new unsigned char[offset+capacity];
 
-   memcpy(cell->data, "??foo", 3);
 
-   cell->offset = offset;
 
-   cell->len = 3;
 
-   cell->capacity = capacity;
 
-   e.cacheData(cell);
 
-   CPPUNIT_ASSERT_EQUAL((size_t)3,
 
-                        e.append(3, (const unsigned char*)"barbaz", 6));
 
-   CPPUNIT_ASSERT_EQUAL((size_t)6, cell->len);
 
-   CPPUNIT_ASSERT_EQUAL((size_t)6, e.getSize());
 
-   CPPUNIT_ASSERT_EQUAL((size_t)0,
 
-                        e.append(7, (const unsigned char*)"FOO", 3));
 
- }
 
- void WrDiskCacheEntryTest::testClear()
 
- {
 
-   WrDiskCacheEntry e(adaptor_);
 
-   e.cacheData(createDataCell(0, "foo"));
 
-   e.clear();
 
-   CPPUNIT_ASSERT_EQUAL((size_t)0, e.getSize());
 
-   CPPUNIT_ASSERT_EQUAL(std::string(), writer_->getString());
 
- }
 
- } // namespace aria2
 
 
  |