Example #1
0
 def test_init(self):
     pn = MemoryPatriciaDict()
     self.assertIs(pn.value, None)
     self.assertEqual(icmp(pn.children, iter([])), 0)
     self.assertEqual(pn.hash,
         0x9a538906e6466ebd2617d321f71bc94e56056ce213d366773699e28158e00614)
     pn2 = MemoryPatriciaDict(value=b'123')
     self.assertEqual(pn2.value, b'123')
     self.assertEqual(icmp(pn2.children, iter([])), 0)
     self.assertEqual(pn2.hash,
         0x31d9ef51c7169e064ced0bf759d5b60f1067c12171414b30aae8359f8634a505)
     pl = PatriciaLink(b'abc', pn2)
     pn3 = MemoryPatriciaDict(children=[pl])
     self.assertIs(pn3.value, None)
     self.assertEqual(icmp(pn3.children, iter([pl])), 0)
     self.assertEqual(pn3.hash,
         0x54e70d605c1e8c043ecc062b5c2113958d5be9156bfb7ccdd78d152a716ea8f0)
     pn4 = MemoryPatriciaDict(children={b'abc': pn2})
     self.assertIs(pn4.value, None)
     self.assertEqual(icmp(pn4.children, iter([pl])), 0)
     self.assertEqual(pn4.hash,
         0x54e70d605c1e8c043ecc062b5c2113958d5be9156bfb7ccdd78d152a716ea8f0)
     pn5 = MemoryPatriciaDict(b'456', {b'abc': pn2})
     self.assertEqual(pn5.value, b'456')
     self.assertEqual(icmp(pn4.children, iter([pl])), 0)
     self.assertEqual(pn5.hash,
         0x2d9012770715c0d1b568d9a2a15a2e180fc654906b1a7570632cdc1eb60d6ad4)
Example #2
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k,v) for k,v in six.iteritems(kwargs))
     pn = MemoryPatriciaDict()
     pn.update(items)
     self.assertFalse(icmp((k for k,v in reversed(items)), reversed(pn)))
     pn2 = MemoryPatriciaDict()
     pn2.update(reversed(items))
     self.assertFalse(icmp((k for k,v in reversed(items)), reversed(pn2)))
Example #3
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k,v) for k,v in six.iteritems(kwargs))
     pn = MemoryPatriciaAuthTree()
     pn.update(items)
     self.assertFalse(icmp((k for k,v in reversed(items)), reversed(pn)))
     pn2 = MemoryPatriciaAuthTree()
     pn2.update(reversed(items))
     self.assertFalse(icmp((k for k,v in reversed(items)), reversed(pn2)))
Example #4
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k, v) for k, v in six.iteritems(kwargs))
     pn = MemoryPatriciaAuthTree()
     pn.update(items)
     self.assertFalse(
         icmp(reversed([v for k, v in items]),
              pn.reversed_itervalues()))
Example #5
0
 def test_init(self):
     pn = self.AuthTreeNode()
     self.assertIs(pn.value, None)
     self.assertEqual(icmp(pn.children, iter([])), 0)
     self.assertEqual(pn.hash, self.hashes[0])
     pn2 = self.AuthTreeNode(value=b'123')
     self.assertEqual(pn2.value, b'123')
     self.assertEqual(icmp(pn2.children, iter([])), 0)
     self.assertEqual(pn2.hash, self.hashes[1])
     pl = self.AuthTreeNode.link_class(b'abc', pn2)
     pn3 = self.AuthTreeNode(children=[pl])
     self.assertIs(pn3.value, None)
     self.assertEqual(icmp(pn3.children, iter([pl])), 0)
     self.assertEqual(pn3.hash, self.hashes[2])
     pn4 = self.AuthTreeNode(children={b'abc': pn2})
     self.assertIs(pn4.value, None)
     self.assertEqual(icmp(pn4.children, iter([pl])), 0)
     self.assertEqual(pn4.hash, self.hashes[2])
     pn5 = self.AuthTreeNode(b'456', {b'abc': pn2})
     self.assertEqual(pn5.value, b'456')
     self.assertEqual(icmp(pn4.children, iter([pl])), 0)
     self.assertEqual(pn5.hash, self.hashes[3])
Example #6
0
 def __test__(self, args, kwargs, size, length, root, items):
     mn = MerkleNode(*args, **kwargs)
     self.assertEqual(icmp(reversed(mn), (hash_ for idx,hash_ in reversed(items))), 0)
Example #7
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k,v) for k,v in six.iteritems(kwargs))
     pn = MemoryPatriciaDict()
     pn.update(items)
     self.assertFalse(icmp(reversed([v for k,v in items]), pn.reversed_itervalues()))
Example #8
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k,v) for k,v in six.iteritems(kwargs))
     pn = MemoryPatriciaDict()
     pn.update(items)
     self.assertFalse(icmp((v for k,v in items), iter(pn.values())))
Example #9
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k,v) for k,v in six.iteritems(kwargs))
     pn = MemoryPatriciaAuthTree()
     pn.update(items)
     self.assertFalse(icmp(reversed([k for k,v in items]), iter(pn.reversed_keys())))
Example #10
0
 def __test__(self, hash_, **kwargs):
     items = sorted((k,v) for k,v in six.iteritems(kwargs))
     pn = MemoryPatriciaAuthTree()
     pn.update(items)
     self.assertFalse(icmp((k for k,v in items), pn.iterkeys()))
     self.assertFalse(icmp((k for k,v in items), six.iterkeys(pn)))