class TestSymbolGrammars(unittest.TestCase):
    def setUp(self):
        from pydsl.Grammar.Tool.Symbol import SymbolGrammarTools
        from pydsl.Memory.File.BNF import strlist_to_production_set
        productionset = strlist_to_production_set(["#parser=descent","S ::= dayofmonth separator number separator number", "separator := String,/","number := Word,integer,max,1","dayofmonth := Word,DayOfMonth,max,1"])
        self.g1 = SymbolGrammarTools(productionset)

    def testCheck(self):
        result = self.g1.check("1/1/2001")
        self.assertTrue(result)

    def testBadCheck(self):
        self.assertFalse(self.g1.check("777"))

    def testsenumerateWords(self):
        pass

    def testAskGroup(self):
        result = self.g1.get_groups("11/1/1", "DayOfMonth")
        self.assertTrue((0,2) in result)

    def testCheckWordStatus(self):
        pass
    
    def testSerialize(self):
        pass
 def setUp(self):
     from pydsl.Grammar.Tool.Symbol import SymbolGrammarTools
     from pydsl.Memory.File.BNF import strlist_to_production_set
     productionset = strlist_to_production_set(["#parser=descent","S ::= dayofmonth separator number separator number", "separator := String,/","number := Word,integer,max,1","dayofmonth := Word,DayOfMonth,max,1"])
     self.g1 = SymbolGrammarTools(productionset)