SingleFileDownloadContextTest.cc 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "SingleFileDownloadContext.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. using namespace std;
  4. class SingleFileDownloadContextTest:public CppUnit::TestFixture {
  5. CPPUNIT_TEST_SUITE(SingleFileDownloadContextTest);
  6. CPPUNIT_TEST(testGetPieceHash);
  7. CPPUNIT_TEST(testGetNumPieces);
  8. CPPUNIT_TEST(testGetActualBasePath);
  9. CPPUNIT_TEST_SUITE_END();
  10. public:
  11. SingleFileDownloadContextTest() {}
  12. void setUp() {}
  13. void testGetPieceHash();
  14. void testGetNumPieces();
  15. void testGetActualBasePath();
  16. };
  17. CPPUNIT_TEST_SUITE_REGISTRATION( SingleFileDownloadContextTest );
  18. void SingleFileDownloadContextTest::testGetPieceHash()
  19. {
  20. SingleFileDownloadContext ctx(0, 0, "");
  21. Strings pieceHashes;
  22. pieceHashes.push_back("0000");
  23. pieceHashes.push_back("0001");
  24. pieceHashes.push_back("0002");
  25. ctx.setPieceHashes(pieceHashes);
  26. CPPUNIT_ASSERT_EQUAL(string(""), ctx.getPieceHash(-1));
  27. CPPUNIT_ASSERT_EQUAL(string("0000"), ctx.getPieceHash(0));
  28. CPPUNIT_ASSERT_EQUAL(string(""), ctx.getPieceHash(3));
  29. }
  30. void SingleFileDownloadContextTest::testGetNumPieces()
  31. {
  32. SingleFileDownloadContext ctx(345, 9889, "");
  33. CPPUNIT_ASSERT_EQUAL((int32_t)29, ctx.getNumPieces());
  34. }
  35. void SingleFileDownloadContextTest::testGetActualBasePath()
  36. {
  37. SingleFileDownloadContext ctx(0, 0, "");
  38. CPPUNIT_ASSERT_EQUAL(string("./index.html"), ctx.getActualBasePath());
  39. ctx.setFilename("aria2.tar.bz2");
  40. CPPUNIT_ASSERT_EQUAL(string("./aria2.tar.bz2"), ctx.getActualBasePath());
  41. ctx.setUFilename("aria.tar.bz2");
  42. CPPUNIT_ASSERT_EQUAL(string("./aria.tar.bz2"), ctx.getActualBasePath());
  43. ctx.setDir("/tmp");
  44. CPPUNIT_ASSERT_EQUAL(string("/tmp/aria.tar.bz2"), ctx.getActualBasePath());
  45. }