File: test_trie.py

package info (click to toggle)
pypy 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 107,216 kB
  • sloc: python: 1,201,787; ansic: 62,419; asm: 5,169; cpp: 3,017; sh: 2,534; makefile: 545; xml: 243; lisp: 45; awk: 4
file content (22 lines) | stat: -rw-r--r-- 674 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import py
import StringIO

from rpython.rlib.unicodedata import triegenerator

def setup_module(mod):
    mod.tmpdir = py.test.ensuretemp(mod.__name__)
    mod.lines = lines = map(hex,map(hash, map(str, range(100))))
    # some extra handcrafted tests
    lines.extend([ 'AAA', 'AAAA', 'AAAB', 'AAB', 'AABB' ]) 
    out = mod.tmpdir.join('btree.py')
    o = out.open('w')
    mod.trie = triegenerator.build_compression_tree(
        o, dict(map(lambda (x,y):(y,x), enumerate(lines))))
    o.close()
    mod.bt = out.pyimport()


def test_roundtrip():
    for i, line in enumerate(lines):
        assert bt.lookup_charcode(i) == line
        assert bt.trie_lookup(line) == i