diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-30 16:55:15 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-30 22:55:43 +0900 |
| commit | 098f1571be6f9d30d394eb83d35cc67f8e9ebcb0 (patch) | |
| tree | 1fd7ae9d1173704f39291c5f438c3388a3ab3d65 /test/BtPieceMessageTest.cc | |
| parent | abcb0745ed3c60f17942ce65fb63159a157854ea (diff) | |
Wrap BtMessage objects by std::unique_ptr instead of std::shared_ptr
Diffstat (limited to 'test/BtPieceMessageTest.cc')
| -rw-r--r-- | test/BtPieceMessageTest.cc | 54 |
1 files changed, 22 insertions, 32 deletions
diff --git a/test/BtPieceMessageTest.cc b/test/BtPieceMessageTest.cc index d758d53c..285ba21f 100644 --- a/test/BtPieceMessageTest.cc +++ b/test/BtPieceMessageTest.cc @@ -15,6 +15,7 @@ #include "Piece.h" #include "BtHandshakeMessage.h" #include "DownloadContext.h" +#include "BtRejectMessage.h" namespace aria2 { @@ -47,44 +48,33 @@ public: void testCancelSendingPieceEvent_invalidate(); void testToString(); - class MockBtMessage2 : public MockBtMessage { - public: - size_t index; - uint32_t begin; - size_t length; - public: - MockBtMessage2(size_t index, uint32_t begin, size_t length):index(index), begin(begin), length(length) {} - - }; - class MockBtMessageFactory2 : public MockBtMessageFactory { public: - virtual std::shared_ptr<BtMessage> + virtual std::unique_ptr<BtRejectMessage> createRejectMessage(size_t index, int32_t begin, int32_t length) { - std::shared_ptr<MockBtMessage2> msg(new MockBtMessage2(index, begin, length)); - return msg; + return make_unique<BtRejectMessage>(index, begin, length); } }; - std::shared_ptr<DownloadContext> dctx_; - std::shared_ptr<MockBtMessageDispatcher> btMessageDispatcher; - std::shared_ptr<MockBtMessageFactory> btMessageFactory_; + std::unique_ptr<DownloadContext> dctx_; + std::unique_ptr<MockBtMessageDispatcher> btMessageDispatcher; + std::unique_ptr<MockBtMessageFactory> btMessageFactory_; std::shared_ptr<Peer> peer; - std::shared_ptr<BtPieceMessage> msg; + std::unique_ptr<BtPieceMessage> msg; void setUp() { - dctx_.reset(new DownloadContext(16*1024, 256*1024, "/path/to/file")); + dctx_ = make_unique<DownloadContext>(16*1024, 256*1024, "/path/to/file"); - peer.reset(new Peer("host", 6969)); + peer = std::make_shared<Peer>("host", 6969); peer->allocateSessionResource(dctx_->getPieceLength(), dctx_->getTotalLength()); - btMessageDispatcher.reset(new MockBtMessageDispatcher()); - btMessageFactory_.reset(new MockBtMessageFactory2()); + btMessageDispatcher = make_unique<MockBtMessageDispatcher>(); + btMessageFactory_ = make_unique<MockBtMessageFactory2>(); - msg.reset(new BtPieceMessage()); + msg = make_unique<BtPieceMessage>(); msg->setIndex(1); msg->setBegin(1024); msg->setBlockLength(16*1024); @@ -166,11 +156,11 @@ void BtPieceMessageTest::testChokingEvent_allowedFastEnabled() { CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT_EQUAL((size_t)1, btMessageDispatcher->messageQueue.size()); - auto rej = std::dynamic_pointer_cast<MockBtMessage2> - (btMessageDispatcher->messageQueue.front()); - CPPUNIT_ASSERT_EQUAL((size_t)1, rej->index); - CPPUNIT_ASSERT_EQUAL((uint32_t)1024, rej->begin); - CPPUNIT_ASSERT_EQUAL((size_t)16*1024, rej->length); + auto rej = static_cast<const BtRejectMessage*> + (btMessageDispatcher->messageQueue.front().get()); + CPPUNIT_ASSERT_EQUAL((size_t)1, rej->getIndex()); + CPPUNIT_ASSERT_EQUAL((int32_t)1024, rej->getBegin()); + CPPUNIT_ASSERT_EQUAL((int32_t)16*1024, rej->getLength()); } void BtPieceMessageTest::testChokingEvent_inAmAllowedIndexSet() { @@ -234,11 +224,11 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_allowedFastEnabled() { CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT_EQUAL((size_t)1, btMessageDispatcher->messageQueue.size()); - auto rej = std::dynamic_pointer_cast<MockBtMessage2> - (btMessageDispatcher->messageQueue.front()); - CPPUNIT_ASSERT_EQUAL((size_t)1, rej->index); - CPPUNIT_ASSERT_EQUAL((uint32_t)1024, rej->begin); - CPPUNIT_ASSERT_EQUAL((size_t)16*1024, rej->length); + auto rej = static_cast<const BtRejectMessage*> + (btMessageDispatcher->messageQueue.front().get()); + CPPUNIT_ASSERT_EQUAL((size_t)1, rej->getIndex()); + CPPUNIT_ASSERT_EQUAL((int32_t)1024, rej->getBegin()); + CPPUNIT_ASSERT_EQUAL((int32_t)16*1024, rej->getLength()); } void BtPieceMessageTest::testCancelSendingPieceEvent_invalidate() { |
