diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-01-31 23:00:05 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-01-31 23:00:05 +0900 |
| commit | 8902c2a8399f1f2234e9598697de2f91d6c4295e (patch) | |
| tree | 8b7f4952d4d6584a80cbb458c822290380f05649 /test | |
| parent | 27974108f059d2e4ac2767c304fdbd8358caad07 (diff) | |
Rewritten DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >&)
Diffstat (limited to 'test')
| -rw-r--r-- | test/DefaultPeerStorageTest.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/DefaultPeerStorageTest.cc b/test/DefaultPeerStorageTest.cc index d0801038..f12bf48d 100644 --- a/test/DefaultPeerStorageTest.cc +++ b/test/DefaultPeerStorageTest.cc @@ -9,6 +9,7 @@ #include "Peer.h" #include "Option.h" #include "BtRuntime.h" +#include "array_fun.h" namespace aria2 { @@ -131,6 +132,26 @@ void DefaultPeerStorageTest::testAddPeer() { // this returns false because the peer which has same ip and port // has already added CPPUNIT_ASSERT_EQUAL(false, ps.addPeer(peer5)); + + SharedHandle<Peer> pa[] = { + SharedHandle<Peer>(new Peer("192.168.0.4", 6889)), + SharedHandle<Peer>(new Peer("192.168.0.5", 6889)), + SharedHandle<Peer>(new Peer("192.168.0.6", 6889)), + SharedHandle<Peer>(new Peer("192.168.0.7", 6889)), + SharedHandle<Peer>(new Peer("192.168.0.8", 6889)) + }; + std::vector<SharedHandle<Peer> > peers(vbegin(pa), vend(pa)); + ps.addPeer(peers); + // peers[0] is not added because it has been already added. + // peers[1], peers[2] and peers[3] are going to be added. peers[4] + // is not added because DefaultPeerStorage::addPeer() limits the + // number of peers to add. Finally, unused peers are removed from + // back and size 3 vector is made. + CPPUNIT_ASSERT_EQUAL((size_t)3, ps.countPeer()); + CPPUNIT_ASSERT(std::find_if(ps.getPeers().begin(), ps.getPeers().end(), + derefEqual(peers[2])) != ps.getPeers().end()); + CPPUNIT_ASSERT(std::find_if(ps.getPeers().begin(), ps.getPeers().end(), + derefEqual(peers[3])) != ps.getPeers().end()); } void DefaultPeerStorageTest::testGetUnusedPeer() { |
