123456789101112131415161718192021222324252627282930313233343536373839 |
- from unittest import mock
- from iepy.extraction import rules
- from iepy.data.models import RichToken
- from .manager_case import ManagerTestCase
- from .factories import EvidenceFactory
- class TestCachedSegmentEnrichedTokens(ManagerTestCase):
- def setUp(self):
- rules.cached_segment_enriched_tokens.cache_clear()
- self.s1 = EvidenceFactory(markup="The physicist "
- "{Albert Einstein|Person*} was born in "
- "{Germany|location} and died in the "
- "{United States|location**}"
- " .").segment.hydrate()
- self.s2 = EvidenceFactory(markup="The little dog {Terry|Dog} happily "
- "eats his food in {Babaria|location} while "
- "the blond, pale kids sing creepy "
- "stuff .").segment.hydrate()
- def test_simple(self):
- xs = rules.cached_segment_enriched_tokens(self.s1)
- self.assertTrue(isinstance(xs, list))
- self.assertTrue(all(isinstance(x, RichToken) for x in xs))
- def test_cache_works_1(self):
- xs = rules.cached_segment_enriched_tokens(self.s1)
- rules.cached_segment_enriched_tokens(self.s2)
- ys = rules.cached_segment_enriched_tokens(self.s1)
- self.assertTrue(xs is ys)
- def test_cache_works_2(self):
- mockedGET = mock.MagicMock(return_value=self.s1.get_enriched_tokens())
- self.s1.get_enriched_tokens = mockedGET
- rules.cached_segment_enriched_tokens(self.s1)
- rules.cached_segment_enriched_tokens(self.s1)
- mockedGET.assert_called_once_with()
|