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