RequestGroupManTest.cc 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "RequestGroupMan.h"
  2. #include "CUIDCounter.h"
  3. #include "prefs.h"
  4. #include "SingleFileDownloadContext.h"
  5. #include "RequestGroup.h"
  6. #include "Option.h"
  7. #include "DownloadResult.h"
  8. #include "FileEntry.h"
  9. #include <cppunit/extensions/HelperMacros.h>
  10. namespace aria2 {
  11. class RequestGroupManTest : public CppUnit::TestFixture {
  12. CPPUNIT_TEST_SUITE(RequestGroupManTest);
  13. CPPUNIT_TEST(testIsSameFileBeingDownloaded);
  14. CPPUNIT_TEST(testGetInitialCommands);
  15. CPPUNIT_TEST_SUITE_END();
  16. private:
  17. public:
  18. void setUp()
  19. {
  20. SharedHandle<CUIDCounter> counter = new CUIDCounter();
  21. SingletonHolder<SharedHandle<CUIDCounter> >::instance(counter);
  22. }
  23. void testIsSameFileBeingDownloaded();
  24. void testGetInitialCommands();
  25. };
  26. CPPUNIT_TEST_SUITE_REGISTRATION( RequestGroupManTest );
  27. void RequestGroupManTest::testIsSameFileBeingDownloaded()
  28. {
  29. Option option;
  30. std::deque<std::string> uris;
  31. uris.push_back("http://localhost/aria2.tar.bz2");
  32. SharedHandle<RequestGroup> rg1 = new RequestGroup(&option, uris);
  33. SharedHandle<RequestGroup> rg2 = new RequestGroup(&option, uris);
  34. SharedHandle<SingleFileDownloadContext> dctx1 =
  35. new SingleFileDownloadContext(0, 0, "aria2.tar.bz2");
  36. SharedHandle<SingleFileDownloadContext> dctx2 =
  37. new SingleFileDownloadContext(0, 0, "aria2.tar.bz2");
  38. rg1->setDownloadContext(dctx1);
  39. rg2->setDownloadContext(dctx2);
  40. RequestGroups rgs;
  41. rgs.push_back(rg1);
  42. rgs.push_back(rg2);
  43. RequestGroupMan gm(rgs, 1);
  44. CPPUNIT_ASSERT(gm.isSameFileBeingDownloaded(rg1.get()));
  45. dctx2->setFilename("aria2.tar.gz");
  46. CPPUNIT_ASSERT(!gm.isSameFileBeingDownloaded(rg1.get()));
  47. }
  48. void RequestGroupManTest::testGetInitialCommands()
  49. {
  50. // TODO implement later
  51. }
  52. } // namespace aria2