def test_tree_default_store(): t = Tree() t.multi_add([b"test"]) assert t.is_in(b"test") t2 = Tree() assert not t2.is_in(b"test")
def test_tree_empty_store(): store = {} t = Tree(store) t.multi_add([b"test"]) assert t.is_in(b"test") t2 = Tree(store, root_hash=t.root()) assert t2.is_in(b"test")
def test_multi_small(): t = Tree() t.multi_add([b"Hello", b"World"]) assert b"Hello" in t assert b"World" in t t.multi_add([b"A", b"B", b"C", b"D", b"E", b"F"]) assert b"E" in t assert b"F" in t
def test_multi_small(): t = Tree() t.multi_add(["Hello", "World"]) assert "Hello" in t assert "World" in t t.multi_add(["A", "B", "C", "D", "E", "F"]) assert "E" in t assert "F" in t
def test_multi_test(): t = Tree() t.multi_add([b"Hello", b"World"]) assert t.multi_is_in([b"Hello", b"World"]) == [True, True] answer, head, evidence = t.multi_is_in([b"Hello", b"World"], evidence=True) assert answer == [True, True] e = dict((k.identity(), k) for k in evidence) t2 = Tree(e, head) assert t2.multi_is_in([b"Hello", b"World"]) == [True, True]
def test_multi_test(): t = Tree() t.multi_add(["Hello", "World"]) assert t.multi_is_in(["Hello", "World"]) == [True, True] answer, head, evidence = t.multi_is_in(["Hello", "World"], True) assert answer == [True, True] e = dict((k.identity(), k) for k in evidence) t2 = Tree(e, head) assert t2.multi_is_in(["Hello", "World"]) == [True, True]
def test_multi_add(): t = Tree() from os import urandom X = [urandom(32) for _ in range(100)] t.multi_add(X) for x in X: assert x in t X = [urandom(32) for _ in range(100)] t.multi_add(X) for x in X: assert x in t Y = [urandom(32) for _ in range(100)] for y in Y: assert y not in t
def main(): t = Tree() from os import urandom rep = 100000 print("For %s repetitions:" % rep) X = [str(x) for x in xrange(rep)] bulk = ["x" + str(x) for x in xrange(rep)] t.multi_add(bulk) with Timer() as tim: t.multi_add(X) print "Time per add: %.4f ms (total: %.2f sec)" % ( tim.interval * 1000 / float(rep), tim.interval) with Timer() as tim: t.multi_is_in(X) print "Time per check: %.4f ms (total: %.2f sec)" % ( tim.interval * 1000 / float(rep), tim.interval)