def test_parsing_with_no_localized_grammars(self): mgr = ConvertibleParseManager(Grammar()) parse_tree1 = mgr.parse('message == "2009-07-13"') parse_tree2 = mgr.parse('message == "2009-07-13"', None) expected_tree = ConvertibleParseTree( Equal(PlaceholderVariable("message"), String("2009-07-13"))) eq_(parse_tree1, parse_tree2) eq_(parse_tree1, expected_tree)
def test_parsing_with_localized_grammars(self): castilian_grammar = Grammar(decimal_separator=",", thousands_separator=".") mgr = ConvertibleParseManager(Grammar(), es=castilian_grammar) parse_tree = mgr.parse(u"tráfico:peatones_cruzando_calle <= 3,00", "es") expected_tree = ConvertibleParseTree( LessEqual( PlaceholderVariable("peatones_cruzando_calle", (u"tráfico", )), Number(3.0))) eq_(parse_tree, expected_tree)
def test_unlimited_caching(self): """ The cache may have no limit. If so, the cache counter will be disabled. """ manager = ConvertibleParseManager(Grammar(), cache_limit=None) manager.parse('today == "2009-07-13"') manager.parse('yesterday < "2009-07-13"') manager.parse('tomorrow > "2009-07-13"') manager.parse('hoy > "1999-01-06"') manager.parse('ayer > "1999-01-06"') # Checking the cache: eq_(manager._cache.counter, 5) eq_(len(manager._cache.cache_by_locale[None]), 5) eq_(len(manager._cache.latest_expressions), 5)
def setUp(self): castilian_grammar = Grammar(decimal_separator=",", thousands_separator=".") self.manager = ConvertibleParseManager(Grammar(), cache_limit=3, es=castilian_grammar)