Files
@ e6f9a4843e49
Branch filter:
Location: Morevna/src/tests/test_hashtree.py - annotation
e6f9a4843e49
647 B
text/x-python
configurable log path
bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa | import random
from unittest import TestCase
from hashtree import HashTree
from . import RedirectedOutput
random.seed(17)
def buildTree(leaves):
tree=HashTree(len(leaves))
for l in leaves:
tree.insertLeaf(l)
tree.buildTree()
return tree
class TestMorevna(RedirectedOutput,TestCase):
def test_batchUpdate(self):
leaves=[b"a" for i in range(8)]
t1=buildTree(leaves)
keys=list(range(8))
for i in range(8):
random.shuffle(keys)
for k in keys[:i+1]:
leaves[k]=bytes([random.randrange(256)])
t2=buildTree(leaves)
t1.batchUpdate((k+t1.leafStart,leaves[k]) for k in keys[:i+1])
self.assertEqual(t1.store,t2.store)
|