コード例 #1
0
 def test_get_closest_nodes_noRecursion(self):
     rt = TreeRoutingTable(node_id=1)
     target = 2**160 - 5
     for node_id in [2, 4, 8, 2**158, 2**159]:
         rt.offer_node(generate_node(node_id))
     closest_nodes = rt.get_closest_nodes(target, 2)
     self.assertEquals(map(extract_id, closest_nodes), [2**159, 2**158])
コード例 #2
0
ファイル: test_routing_table.py プロジェクト: aburan28/DHTBot
 def test_get_closest_nodes_noRecursion(self):
     rt = TreeRoutingTable(node_id=1)
     target = 2**160 - 5
     for node_id in [2, 4, 8, 2**158, 2**159]:
         rt.offer_node(generate_node(node_id))
     closest_nodes = rt.get_closest_nodes(target, 2)
     self.assertEquals(map(extract_id, closest_nodes), [2**159, 2**158])
コード例 #3
0
 def test_get_closest_nodes_multiLevelRecursion(self):
     rt = TreeRoutingTable(node_id=2**160 - 1)
     target = 1
     rand_list = testing_data.random_one_hundred_IDs
     dist = lambda x, y: x ^ y
     rand_list.sort(key=lambda ID: dist(ID, target))
     expectedIDs = rand_list[:constants.k]
     for ID in rand_list:
         rt.offer_node(generate_node(ID))
     closest_nodes = rt.get_closest_nodes(target)
     self.assertEquals(expectedIDs, map(extract_id, closest_nodes))
コード例 #4
0
ファイル: test_routing_table.py プロジェクト: aburan28/DHTBot
 def test_get_closest_nodes_multiLevelRecursion(self):
     rt = TreeRoutingTable(node_id=2**160-1)
     target = 1
     rand_list = testing_data.random_one_hundred_IDs
     dist = lambda x, y: x ^ y
     rand_list.sort(key = lambda ID: dist(ID, target))
     expectedIDs = rand_list[:constants.k]
     for ID in rand_list:
         rt.offer_node(generate_node(ID))
     closest_nodes = rt.get_closest_nodes(target)
     self.assertEquals(expectedIDs, map(extract_id, closest_nodes))
コード例 #5
0
 def test_get_closest_nodes_oneLevelRecursion(self):
     rt = TreeRoutingTable(node_id=1)
     target = 2**160 - 5
     # 7 nodes close to the target
     for node_id in node_id_sequence(2**150, 2**157, 2):
         rt.offer_node(generate_node(node_id))
     # 1 node close to our node id
     rt.offer_node(generate_node(5))
     closest_nodes = rt.get_closest_nodes(target)
     expectedIDs = node_id_sequence(2**150, 2**157, 2)
     expectedIDs.append(5)
     expectedIDs.sort(key=lambda ID: ID ^ target)
     self.assertEquals(len(expectedIDs), len(closest_nodes))
     self.assertEquals(expectedIDs, map(extract_id, closest_nodes))
コード例 #6
0
ファイル: test_routing_table.py プロジェクト: aburan28/DHTBot
 def test_get_closest_nodes_oneLevelRecursion(self):
     rt = TreeRoutingTable(node_id=1)
     target = 2**160 - 5
     # 7 nodes close to the target
     for node_id in node_id_sequence(2**150, 2**157, 2):
         rt.offer_node(generate_node(node_id))
     # 1 node close to our node id
     rt.offer_node(generate_node(5))
     closest_nodes = rt.get_closest_nodes(target)
     expectedIDs = node_id_sequence(2**150, 2**157, 2)
     expectedIDs.append(5)
     expectedIDs.sort(key = lambda ID: ID ^ target)
     self.assertEquals(len(expectedIDs), len(closest_nodes))
     self.assertEquals(expectedIDs, map(extract_id, closest_nodes))