# coding: utf-8 from __future__ import unicode_literals from ...matcher import Matcher from ...attrs import LOWER import pytest def test_issue242(en_tokenizer): """Test overlapping multi-word phrases.""" text = "There are different food safety standards in different countries." patterns = [[{LOWER: 'food'}, {LOWER: 'safety'}], [{LOWER: 'safety'}, {LOWER: 'standards'}]] doc = en_tokenizer(text) matcher = Matcher(doc.vocab) matcher.add('FOOD', 'FOOD', {}, patterns) matches = [(ent_type, start, end) for ent_id, ent_type, start, end in matcher(doc)] doc.ents += tuple(matches) match1, match2 = matches assert match1[1] == 3 assert match1[2] == 5 assert match2[1] == 4 assert match2[2] == 6