예제 #1
0
파일: testKbucket.py 프로젝트: zhanji/dak
    def testBucketFull(self):
        kbucket = KBucket(2)

        kbucket.add(contact, 1)
        kbucket.add(contact2, 1)

        self.assertRaises(Exception, kbucket.add, contact3, 1)
예제 #2
0
파일: testKbucket.py 프로젝트: zhanji/dak
    def testAppendNewContact(self):
        kbucket = KBucket(2)
        kbucket.add(contact, 1)
        kbucket.add(contact2, 1)

        self.assertEqual(contact, kbucket.getBucket(1)[0])
        self.assertEqual(contact2, kbucket.getBucket(1)[1])
예제 #3
0
파일: testKbucket.py 프로젝트: zhanji/dak
    def testUpdateAContact(self):
        kbucket = KBucket(2)
        kbucket.add(contact, 1)
        kbucket.add(contact2, 1)

        kbucket.add(contact, 1)
        self.assertEqual(2, len(kbucket.getBucket(1)))
        self.assertEqual(contact, kbucket.getBucket(1)[1])
예제 #4
0
파일: testKbucket.py 프로젝트: zhanji/dak
    def testGetKCloseContactsWhenBucketIsNotFull(self):
        kbucket = KBucket(2)
        kbucket.add(contact, 1)
        kbucket.add(contact2, 2)
        kbucket.add(contact3, 5)

        self.assertEqual([contact, contact2], kbucket.getkclose(1))
        self.assertEqual([contact3, contact2], kbucket.getkclose(5))

        kbucket = KBucket(4)
        kbucket.add("a", 1)
        kbucket.add("b", 1)

        kbucket.add("c", 2)
        kbucket.add("d", 6)
        kbucket.add("e", 6)
        kbucket.add("f", 6)
        kbucket.add("g", 6)

        self.assertEqual(["a", "b", "c", "d"], kbucket.getkclose(1))
        self.assertEqual(["d", "e", "f", "g"], kbucket.getkclose(6))
        self.assertEqual(["c", "a", "b", "d"], kbucket.getkclose(2))
예제 #5
0
 def __init__(self, k):
     self._id = hashlib.sha256(
         str(random.randint(0, 2**32 - 1)).encode('utf-8')).hexdigest()[:20]
     self._kbucket = KBucket(k)
예제 #6
0
파일: testKbucket.py 프로젝트: zhanji/dak
    def testAddAContact(self):
        kbucket = KBucket(2)

        kbucket.add(contact, 1)

        self.assertEqual(contact, kbucket.getBucket(1)[0])
예제 #7
0
파일: testKbucket.py 프로젝트: zhanji/dak
    def testGetKCloseSimple(self):
        kbucket = KBucket(2)
        kbucket.add(contact, 1)
        kbucket.add(contact2, 1)

        self.assertEqual([contact, contact2], kbucket.getkclose(1))