File: test_trie.py

package info (click to toggle)
pypy 5.6.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 97,040 kB
  • ctags: 185,069
  • sloc: python: 1,147,862; ansic: 49,642; cpp: 5,245; asm: 5,169; makefile: 529; sh: 481; xml: 232; lisp: 45
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