File: test_trie.py

package info (click to toggle)
pypy 7.3.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 113,660 kB
  • sloc: python: 1,419,707; ansic: 64,313; cpp: 3,290; sh: 2,763; makefile: 540; xml: 256; asm: 213; 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