1import ahocorasick
2
3
4
5
6def iter_results(s):
7    r = []
8    for x in A.iter(teststr):
9        r.append(x)
10
11    return r
12
13
14def find_all_results(s):
15
16    r = []
17
18    def append(x, s):
19        r.append((x, s))
20
21    A.find_all(s, append)
22
23    return r
24
25
26A = ahocorasick.Automaton()
27
28for word in ("poke", "go", "pokegois", "egoist"):
29    A.add_word(word, word)
30
31A.make_automaton()
32
33teststr = 'pokego pokego  pokegoist'
34expected = iter_results(teststr)
35findall  = find_all_results(teststr)
36
37if findall != expected:
38    print("expected: %s" % expected)
39    print("findall : %s" % findall)
40    assert findall == expected
41
42