BtRegistryTest.cc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #include "BtRegistry.h"
  2. #include "Exception.h"
  3. #include "MockBtContext.h"
  4. #include "MockPeerStorage.h"
  5. #include "MockPieceStorage.h"
  6. #include "MockBtAnnounce.h"
  7. #include "MockBtProgressInfoFile.h"
  8. #include "BtRuntime.h"
  9. #include "FileEntry.h"
  10. #include "PeerObject.h"
  11. #include "BtMessageFactory.h"
  12. #include "BtRequestFactory.h"
  13. #include "BtMessageDispatcher.h"
  14. #include "BtMessageReceiver.h"
  15. #include "PeerConnection.h"
  16. #include "ExtensionMessageFactory.h"
  17. #include <cppunit/extensions/HelperMacros.h>
  18. namespace aria2 {
  19. class BtRegistryTest:public CppUnit::TestFixture {
  20. CPPUNIT_TEST_SUITE(BtRegistryTest);
  21. CPPUNIT_TEST(testGetBtContext);
  22. CPPUNIT_TEST(testGetPeerStorage);
  23. CPPUNIT_TEST(testGetPieceStorage);
  24. CPPUNIT_TEST(testGetBtRuntime);
  25. CPPUNIT_TEST(testGetBtAnnounce);
  26. CPPUNIT_TEST(testGetBtProgressInfoFile);
  27. CPPUNIT_TEST(testGetPeerObjectCluster);
  28. CPPUNIT_TEST_SUITE_END();
  29. private:
  30. public:
  31. void setUp()
  32. {
  33. BtRegistry::unregisterAll();
  34. }
  35. void tearDown()
  36. {
  37. BtRegistry::unregisterAll();
  38. }
  39. void testGetBtContext();
  40. void testGetPeerStorage();
  41. void testGetPieceStorage();
  42. void testGetBtRuntime();
  43. void testGetBtAnnounce();
  44. void testGetBtProgressInfoFile();
  45. void testGetPeerObjectCluster();
  46. };
  47. CPPUNIT_TEST_SUITE_REGISTRATION( BtRegistryTest );
  48. void BtRegistryTest::testGetBtContext()
  49. {
  50. CPPUNIT_ASSERT(BtRegistry::getBtContext("test").isNull());
  51. SharedHandle<BtContext> btContext(new MockBtContext());
  52. BtRegistry::registerBtContext("test", btContext);
  53. CPPUNIT_ASSERT_EQUAL(btContext.get(),
  54. BtRegistry::getBtContext("test").get());
  55. }
  56. void BtRegistryTest::testGetPeerStorage() {
  57. CPPUNIT_ASSERT(!BtRegistry::getPeerStorage("test").get());
  58. SharedHandle<PeerStorage> peerStorage(new MockPeerStorage());
  59. BtRegistry::registerPeerStorage("test", peerStorage);
  60. CPPUNIT_ASSERT_EQUAL(peerStorage.get(),
  61. BtRegistry::getPeerStorage("test").get());
  62. }
  63. void BtRegistryTest::testGetPieceStorage() {
  64. CPPUNIT_ASSERT(!BtRegistry::getPieceStorage("test").get());
  65. SharedHandle<PieceStorage> pieceStorage(new MockPieceStorage());
  66. BtRegistry::registerPieceStorage("test", pieceStorage);
  67. CPPUNIT_ASSERT_EQUAL(pieceStorage.get(),
  68. BtRegistry::getPieceStorage("test").get());
  69. }
  70. void BtRegistryTest::testGetBtRuntime() {
  71. CPPUNIT_ASSERT(!BtRegistry::getBtRuntime("test").get());
  72. SharedHandle<BtRuntime> runtime;
  73. BtRegistry::registerBtRuntime("test", runtime);
  74. CPPUNIT_ASSERT_EQUAL(runtime.get(),
  75. BtRegistry::getBtRuntime("test").get());
  76. }
  77. void BtRegistryTest::testGetBtAnnounce() {
  78. CPPUNIT_ASSERT(!BtRegistry::getBtAnnounce("test").get());
  79. SharedHandle<BtAnnounce> btAnnounce(new MockBtAnnounce());
  80. BtRegistry::registerBtAnnounce("test", btAnnounce);
  81. CPPUNIT_ASSERT_EQUAL(btAnnounce.get(),
  82. BtRegistry::getBtAnnounce("test").get());
  83. }
  84. void BtRegistryTest::testGetBtProgressInfoFile() {
  85. CPPUNIT_ASSERT(!BtRegistry::getBtProgressInfoFile("test").get());
  86. SharedHandle<BtProgressInfoFile> btProgressInfoFile(new MockBtProgressInfoFile());
  87. BtRegistry::registerBtProgressInfoFile("test", btProgressInfoFile);
  88. CPPUNIT_ASSERT_EQUAL(btProgressInfoFile.get(),
  89. BtRegistry::getBtProgressInfoFile("test").get());
  90. }
  91. void BtRegistryTest::testGetPeerObjectCluster() {
  92. CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
  93. SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
  94. BtRegistry::registerPeerObjectCluster("test", cluster);
  95. CPPUNIT_ASSERT(BtRegistry::getPeerObjectCluster("test").get());
  96. BtRegistry::unregisterPeerObjectCluster("test");
  97. CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
  98. }
  99. } // namespace aria2