WrDiskCacheEntryTest.cc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "WrDiskCacheEntry.h"
  2. #include <cstring>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. #include "TestUtil.h"
  5. #include "DirectDiskAdaptor.h"
  6. #include "ByteArrayDiskWriter.h"
  7. namespace aria2 {
  8. class WrDiskCacheEntryTest:public CppUnit::TestFixture {
  9. CPPUNIT_TEST_SUITE(WrDiskCacheEntryTest);
  10. CPPUNIT_TEST(testWriteToDisk);
  11. CPPUNIT_TEST(testClear);
  12. CPPUNIT_TEST_SUITE_END();
  13. SharedHandle<DirectDiskAdaptor> adaptor_;
  14. SharedHandle<ByteArrayDiskWriter> writer_;
  15. public:
  16. void setUp()
  17. {
  18. adaptor_.reset(new DirectDiskAdaptor());
  19. writer_.reset(new ByteArrayDiskWriter());
  20. adaptor_->setDiskWriter(writer_);
  21. }
  22. void testWriteToDisk();
  23. void testClear();
  24. };
  25. CPPUNIT_TEST_SUITE_REGISTRATION( WrDiskCacheEntryTest );
  26. void WrDiskCacheEntryTest::testWriteToDisk()
  27. {
  28. WrDiskCacheEntry e(adaptor_);
  29. e.cacheData(createDataCell(0, "??01234567", 2));
  30. e.cacheData(createDataCell(8, "890"));
  31. e.writeToDisk();
  32. CPPUNIT_ASSERT_EQUAL((size_t)0, e.getSize());
  33. CPPUNIT_ASSERT_EQUAL(std::string("01234567890"), writer_->getString());
  34. }
  35. void WrDiskCacheEntryTest::testClear()
  36. {
  37. WrDiskCacheEntry e(adaptor_);
  38. e.cacheData(createDataCell(0, "foo"));
  39. e.clear();
  40. CPPUNIT_ASSERT_EQUAL((size_t)0, e.getSize());
  41. CPPUNIT_ASSERT_EQUAL(std::string(), writer_->getString());
  42. }
  43. } // namespace aria2