BtRegistryTest.cc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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 <cppunit/extensions/HelperMacros.h>
  9. using namespace std;
  10. class BtRegistryTest:public CppUnit::TestFixture {
  11. CPPUNIT_TEST_SUITE(BtRegistryTest);
  12. CPPUNIT_TEST(testGetBtContext);
  13. CPPUNIT_TEST(testGetPeerStorage);
  14. CPPUNIT_TEST(testGetPieceStorage);
  15. CPPUNIT_TEST(testGetBtRuntime);
  16. CPPUNIT_TEST(testGetBtAnnounce);
  17. CPPUNIT_TEST(testGetBtProgressInfoFile);
  18. CPPUNIT_TEST(testGetPeerObjectCluster);
  19. CPPUNIT_TEST_SUITE_END();
  20. private:
  21. public:
  22. void setUp()
  23. {
  24. BtRegistry::unregisterAll();
  25. }
  26. void tearDown()
  27. {
  28. BtRegistry::unregisterAll();
  29. }
  30. void testGetBtContext();
  31. void testGetPeerStorage();
  32. void testGetPieceStorage();
  33. void testGetBtRuntime();
  34. void testGetBtAnnounce();
  35. void testGetBtProgressInfoFile();
  36. void testGetPeerObjectCluster();
  37. };
  38. CPPUNIT_TEST_SUITE_REGISTRATION( BtRegistryTest );
  39. void BtRegistryTest::testGetBtContext()
  40. {
  41. CPPUNIT_ASSERT(BtRegistry::getBtContext("test").isNull());
  42. BtContextHandle btContext = new MockBtContext();
  43. BtRegistry::registerBtContext("test", btContext);
  44. CPPUNIT_ASSERT_EQUAL(btContext.get(),
  45. BtRegistry::getBtContext("test").get());
  46. }
  47. void BtRegistryTest::testGetPeerStorage() {
  48. CPPUNIT_ASSERT(!BtRegistry::getPeerStorage("test").get());
  49. PeerStorageHandle peerStorage(new MockPeerStorage());
  50. BtRegistry::registerPeerStorage("test", peerStorage);
  51. CPPUNIT_ASSERT_EQUAL(peerStorage.get(),
  52. BtRegistry::getPeerStorage("test").get());
  53. }
  54. void BtRegistryTest::testGetPieceStorage() {
  55. CPPUNIT_ASSERT(!BtRegistry::getPieceStorage("test").get());
  56. PieceStorageHandle pieceStorage(new MockPieceStorage());
  57. BtRegistry::registerPieceStorage("test", pieceStorage);
  58. CPPUNIT_ASSERT_EQUAL(pieceStorage.get(),
  59. BtRegistry::getPieceStorage("test").get());
  60. }
  61. void BtRegistryTest::testGetBtRuntime() {
  62. CPPUNIT_ASSERT(!BtRegistry::getBtRuntime("test").get());
  63. BtRuntimeHandle runtime;
  64. BtRegistry::registerBtRuntime("test", runtime);
  65. CPPUNIT_ASSERT_EQUAL(runtime.get(),
  66. BtRegistry::getBtRuntime("test").get());
  67. }
  68. void BtRegistryTest::testGetBtAnnounce() {
  69. CPPUNIT_ASSERT(!BtRegistry::getBtAnnounce("test").get());
  70. BtAnnounceHandle btAnnounce(new MockBtAnnounce());
  71. BtRegistry::registerBtAnnounce("test", btAnnounce);
  72. CPPUNIT_ASSERT_EQUAL(btAnnounce.get(),
  73. BtRegistry::getBtAnnounce("test").get());
  74. }
  75. void BtRegistryTest::testGetBtProgressInfoFile() {
  76. CPPUNIT_ASSERT(!BtRegistry::getBtProgressInfoFile("test").get());
  77. BtProgressInfoFileHandle btProgressInfoFile(new MockBtProgressInfoFile());
  78. BtRegistry::registerBtProgressInfoFile("test", btProgressInfoFile);
  79. CPPUNIT_ASSERT_EQUAL(btProgressInfoFile.get(),
  80. BtRegistry::getBtProgressInfoFile("test").get());
  81. }
  82. void BtRegistryTest::testGetPeerObjectCluster() {
  83. CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
  84. BtRegistry::registerPeerObjectCluster("test", new PeerObjectCluster());
  85. CPPUNIT_ASSERT(BtRegistry::getPeerObjectCluster("test").get());
  86. BtRegistry::unregisterPeerObjectCluster("test");
  87. CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
  88. }