def test_names(): auto = Automaton() auto.add_all(NAMES) auto.update_automaton() auto_matches = [(m.start, m.end) for m in auto.get_matches(TEXT)] with TemporaryDirectory() as tmpdir: #tmpdir = '' fnm = os.path.join(tmpdir, 'test.aca') auto.save_to_file(fnm) auto2 = Automaton() auto2.load_from_file(fnm) auto2_matches = [(m.start, m.end) for m in auto2.get_matches(TEXT)] assert list(auto.items()) == list(auto2.items()) assert list(auto.prefixes()) == list(auto2.prefixes()) assert auto_matches == auto2_matches auto3 = Automaton() auto3.load_from_string(auto2.save_to_string()) auto3_matches = [(m.start, m.end) for m in auto3.get_matches(TEXT)] assert list(auto.items()) == list(auto2.items()) assert list(auto.prefixes()) == list(auto2.prefixes()) assert auto_matches == auto3_matches
def test_names(): auto = Automaton() auto[KEY] = VAL auto.update_automaton() with TemporaryDirectory() as tmpdir: fnm = os.path.join(tmpdir, 'test.aca') auto.save_to_file(fnm) auto2 = Automaton() auto2.load_from_file(fnm) assert auto2[KEY] == VAL
# -*- coding: utf-8 -*- from __future__ import unicode_literals, print_function, absolute_import # create a new AC automaton from aca import Automaton automaton = Automaton() automaton['Estonia'] = 'Tallinn' automaton['Germany'] = 'Berlin' automaton['Finland'] = 'Helsinki' # serialize to disk automaton.save_to_file('myautomaton.bin') # load from disk automaton2 = Automaton() automaton2.load_from_file('myautomaton.bin') # save / load to binary string automaton3 = Automaton() automaton3.load_from_string(automaton.save_to_string()) print(automaton2['Estonia']) print(automaton3['Germany'])