~ubuntu-branches/ubuntu/wily/aria2/wily-proposed

« back to all changes in this revision

Viewing changes to test/DHTIDCloserTest.cc

  • Committer: Package Import Robot
  • Author(s): Kartik Mistry, Kartik Mistry, Patrick Ruckstuhl
  • Date: 2013-09-22 18:52:14 UTC
  • mfrom: (2.5.19 sid)
  • Revision ID: package-import@ubuntu.com-20130922185214-upeu2ljgeqi7e7oo
Tags: 1.18.0-1
[ Kartik Mistry ]
* New upstream release.
* debian/control:
  + (really) Set priority to optional from extra (Closes: #697659).
  + wrap-and-sort some fields.

[ Patrick Ruckstuhl ]
* debian/rules:
  + Allow parallel building (Closes: #720977)
* debian/tests, debian/control:
  + autopkgtest infrastructure

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "DHTIDCloser.h"
 
2
 
 
3
#include <cstring>
 
4
#include <algorithm>
 
5
 
 
6
#include <cppunit/extensions/HelperMacros.h>
 
7
 
1
8
#include "DHTNode.h"
2
9
#include "DHTNodeLookupEntry.h"
3
 
#include "DHTIDCloser.h"
4
10
#include "Exception.h"
5
11
#include "util.h"
6
 
#include <cstring>
7
 
#include <algorithm>
8
 
#include <cppunit/extensions/HelperMacros.h>
9
12
 
10
13
namespace aria2 {
11
14
 
30
33
  unsigned char id[DHT_ID_LENGTH];
31
34
  memset(id, 0xf0, DHT_ID_LENGTH);
32
35
 
33
 
  SharedHandle<DHTNodeLookupEntry> e1
34
 
    (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
 
36
  auto e1 = make_unique<DHTNodeLookupEntry>(std::make_shared<DHTNode>(id));
 
37
  auto ep1 = e1.get();
35
38
 
36
39
  id[0] = 0xb0;
37
 
  SharedHandle<DHTNodeLookupEntry> e2
38
 
    (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
 
40
  auto e2 = make_unique<DHTNodeLookupEntry>(std::make_shared<DHTNode>(id));
 
41
  auto ep2 = e2.get();
39
42
 
40
43
  id[0] = 0xa0;
41
 
  SharedHandle<DHTNodeLookupEntry> e3
42
 
    (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
 
44
  auto e3 = make_unique<DHTNodeLookupEntry>(std::make_shared<DHTNode>(id));
 
45
  auto ep3 = e3.get();
43
46
 
44
47
  id[0] = 0x80;
45
 
  SharedHandle<DHTNodeLookupEntry> e4
46
 
    (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
 
48
  auto e4 = make_unique<DHTNodeLookupEntry>(std::make_shared<DHTNode>(id));
 
49
  auto ep4 = e4.get();
47
50
 
48
51
  id[0] = 0x00;
49
 
  SharedHandle<DHTNodeLookupEntry> e5
50
 
    (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
51
 
 
52
 
  std::deque<SharedHandle<DHTNodeLookupEntry> > entries;
53
 
  entries.push_back(e1);
54
 
  entries.push_back(e2);
55
 
  entries.push_back(e3);
56
 
  entries.push_back(e4);
57
 
  entries.push_back(e5);
58
 
 
59
 
  std::sort(entries.begin(), entries.end(), DHTIDCloser(e3->node->getID()));
60
 
 
61
 
  CPPUNIT_ASSERT(*e3 == *entries[0]);
62
 
  CPPUNIT_ASSERT(*e2 == *entries[1]);
63
 
  CPPUNIT_ASSERT(*e4 == *entries[2]);
64
 
  CPPUNIT_ASSERT(*e1 == *entries[3]);
65
 
  CPPUNIT_ASSERT(*e5 == *entries[4]);
 
52
  auto e5 = make_unique<DHTNodeLookupEntry>(std::make_shared<DHTNode>(id));
 
53
  auto ep5 = e5.get();
 
54
 
 
55
  auto entries = std::vector<std::unique_ptr<DHTNodeLookupEntry>>{};
 
56
  entries.push_back(std::move(e1));
 
57
  entries.push_back(std::move(e2));
 
58
  entries.push_back(std::move(e3));
 
59
  entries.push_back(std::move(e4));
 
60
  entries.push_back(std::move(e5));
 
61
 
 
62
  std::sort(std::begin(entries), std::end(entries),
 
63
            DHTIDCloser(ep3->node->getID()));
 
64
 
 
65
  CPPUNIT_ASSERT(*ep3 == *entries[0]);
 
66
  CPPUNIT_ASSERT(*ep2 == *entries[1]);
 
67
  CPPUNIT_ASSERT(*ep4 == *entries[2]);
 
68
  CPPUNIT_ASSERT(*ep1 == *entries[3]);
 
69
  CPPUNIT_ASSERT(*ep5 == *entries[4]);
66
70
}
67
71
 
68
72
} // namespace aria2