BtRegistryTest.cc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "BtRegistry.h"
  2. #include "Exception.h"
  3. #include "MockPeerStorage.h"
  4. #include "MockPieceStorage.h"
  5. #include "MockBtAnnounce.h"
  6. #include "MockBtProgressInfoFile.h"
  7. #include <cppunit/extensions/HelperMacros.h>
  8. using namespace std;
  9. class BtRegistryTest:public CppUnit::TestFixture {
  10. CPPUNIT_TEST_SUITE(BtRegistryTest);
  11. CPPUNIT_TEST(testGetPeerStorage);
  12. CPPUNIT_TEST(testGetPieceStorage);
  13. CPPUNIT_TEST(testGetBtRuntime);
  14. CPPUNIT_TEST(testGetBtAnnounce);
  15. CPPUNIT_TEST(testGetBtProgressInfoFile);
  16. CPPUNIT_TEST(testGetPeerObjectCluster);
  17. CPPUNIT_TEST_SUITE_END();
  18. private:
  19. public:
  20. void setUp() {
  21. }
  22. void testGetPeerStorage();
  23. void testGetPieceStorage();
  24. void testGetBtRuntime();
  25. void testGetBtAnnounce();
  26. void testGetBtProgressInfoFile();
  27. void testGetPeerObjectCluster();
  28. };
  29. CPPUNIT_TEST_SUITE_REGISTRATION( BtRegistryTest );
  30. void BtRegistryTest::testGetPeerStorage() {
  31. CPPUNIT_ASSERT(!BtRegistry::getPeerStorage("test").get());
  32. PeerStorageHandle peerStorage(new MockPeerStorage());
  33. CPPUNIT_ASSERT(BtRegistry::registerPeerStorage("test",
  34. peerStorage));
  35. CPPUNIT_ASSERT_EQUAL(peerStorage.get(),
  36. BtRegistry::getPeerStorage("test").get());
  37. }
  38. void BtRegistryTest::testGetPieceStorage() {
  39. CPPUNIT_ASSERT(!BtRegistry::getPieceStorage("test").get());
  40. PieceStorageHandle pieceStorage(new MockPieceStorage());
  41. CPPUNIT_ASSERT(BtRegistry::registerPieceStorage("test",
  42. pieceStorage));
  43. CPPUNIT_ASSERT_EQUAL(pieceStorage.get(),
  44. BtRegistry::getPieceStorage("test").get());
  45. }
  46. void BtRegistryTest::testGetBtRuntime() {
  47. CPPUNIT_ASSERT(!BtRegistry::getBtRuntime("test").get());
  48. BtRuntimeHandle runtime;
  49. CPPUNIT_ASSERT(BtRegistry::registerBtRuntime("test", runtime));
  50. CPPUNIT_ASSERT_EQUAL(runtime.get(),
  51. BtRegistry::getBtRuntime("test").get());
  52. }
  53. void BtRegistryTest::testGetBtAnnounce() {
  54. CPPUNIT_ASSERT(!BtRegistry::getBtAnnounce("test").get());
  55. BtAnnounceHandle btAnnounce(new MockBtAnnounce());
  56. CPPUNIT_ASSERT(BtRegistry::registerBtAnnounce("test", btAnnounce));
  57. CPPUNIT_ASSERT_EQUAL(btAnnounce.get(),
  58. BtRegistry::getBtAnnounce("test").get());
  59. }
  60. void BtRegistryTest::testGetBtProgressInfoFile() {
  61. CPPUNIT_ASSERT(!BtRegistry::getBtProgressInfoFile("test").get());
  62. BtProgressInfoFileHandle btProgressInfoFile(new MockBtProgressInfoFile());
  63. CPPUNIT_ASSERT(BtRegistry::registerBtProgressInfoFile("test",
  64. btProgressInfoFile));
  65. CPPUNIT_ASSERT_EQUAL(btProgressInfoFile.get(),
  66. BtRegistry::getBtProgressInfoFile("test").get());
  67. }
  68. void BtRegistryTest::testGetPeerObjectCluster() {
  69. CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
  70. BtRegistry::registerPeerObjectCluster("test", new PeerObjectCluster());
  71. CPPUNIT_ASSERT(BtRegistry::getPeerObjectCluster("test").get());
  72. BtRegistry::unregisterPeerObjectCluster("test");
  73. CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
  74. }