diff options
Diffstat (limited to 'treap_test.py')
-rw-r--r-- | treap_test.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/treap_test.py b/treap_test.py new file mode 100644 index 0000000..a1e2183 --- /dev/null +++ b/treap_test.py @@ -0,0 +1,50 @@ +from markdown import Treap + +if __name__ == '__main__': + from pprint import pprint + + def test(t, b): + if b is True: + print t, "Passed" + else: + print t, "Failed" + + print "Testing..." + r = Treap() + r.add('first', 'This', '_begin') + r.add('second', 'is', '>first') + r.add('fourth', 'self', '>second') + r.add('fifth', 'test', '>fourth') + r.add('third', 'a', '>second') + r['seventh'] = '.' + + print ".. Heapsort Test" + test('.... vals', r.heapsorted() == ['This', 'is', 'a', 'self', 'test','.']) + test('.... keys', r.heapsorted(keys=1) == ['first', 'second', 'third', 'fourth', 'fifth','seventh']) + test('.... items', r.heapsorted(items=1) == [('first', 'This'), ('second', 'is'), ('third', 'a'), ('fourth', 'self'), ('fifth', 'test'), ('seventh','.')]) + + print ".. Dict Storage Test" + r._reset() + test('.... vals', r.values() == r._vals) + r._reset() + test('.... keys', r.keys() == r._keys) + r._reset() + test('.... items', r.items() == r._items) + + print ".. Delete Node Test" + del r['second'] + test('.... vals', r.heapsorted() == ['This', 'a', 'self', 'test','.']) + test('.... keys', r.heapsorted(keys=1) == ['first', 'third', 'fourth', 'fifth','seventh']) + test('.... items', r.heapsorted(items=1) == [('first', 'This'), ('third', 'a'), ('fourth', 'self'), ('fifth', 'test'), ('seventh','.')]) + + print ".. Change value test." + r['seventh'] = 'CRAZY' + test('.... vals', r.heapsorted() == ['This', 'a', 'self', 'test','CRAZY']) + test('.... keys', r.heapsorted(keys=1) == ['first', 'third', 'fourth', 'fifth','seventh']) + test('.... items', r.heapsorted(items=1) == [('first', 'This'), ('third', 'a'), ('fourth', 'self'), ('fifth', 'test'), ('seventh','CRAZY')]) + print ".. Change priority test." + r.link('seventh', '<third') + test('.... vals', r.heapsorted() == ['This', 'a', 'self', 'CRAZY', 'test']) + test('.... keys', r.heapsorted(keys=1) == ['first', 'third', 'fourth','seventh', 'fifth']) + test('.... items', r.heapsorted(items=1) == [('first', 'This'), ('third', 'a'), ('fourth', 'self'), ('seventh','CRAZY'), ('fifth', 'test')]) + |