RequestGroupManTest.cc 1.7 KB

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