Files
@ b0515ceb502d
Branch filter:
Location: Morevna/src/tests/test_hashtree.py - annotation
b0515ceb502d
674 B
text/x-python
actually flushing the files
bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa 6a0ab4fe9f5e 5c80ca07f00c bacd3b2d37aa 6a0ab4fe9f5e 6a0ab4fe9f5e bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa 5c80ca07f00c 6a0ab4fe9f5e 5c80ca07f00c 6a0ab4fe9f5e 5c80ca07f00c bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa 5c80ca07f00c 6a0ab4fe9f5e 6a0ab4fe9f5e 5c80ca07f00c | import random
from unittest import TestCase
from hashtree import HashTree
from . import RedirectedOutput
random.seed(17)
def build_tree(leaves):
tree = HashTree(len(leaves))
for l in leaves:
tree.insert_leaf(l)
tree.build_tree()
return tree
class TestMorevna(RedirectedOutput, TestCase):
def test_batch_update(self):
leaves = [b"a" for i in range(8)]
t1 = build_tree(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 = build_tree(leaves)
t1.batch_update((k + t1.leaf_start, leaves[k]) for k in keys[:i + 1])
self.assertEqual(t1.store, t2.store)
|