def test_multipleUsage(self): g = Grammar(terminals=[0, 1, 2, 3], nonterminals=[S, A, B, C, D], rules=[Rules]) n = ContextFree.find_nonterminals_rewritable_to_epsilon(g) self.assertEqual(len(n), 4) for i in [A, B, C, D]: self.assertIn(i, n)
def test_simpleTest(self): g = Grammar(terminals=[1], nonterminals=[S, A, B, C], rules=[Rules]) n = ContextFree.find_nonterminals_rewritable_to_epsilon(g) self.assertEqual(len(n), 2) for i in [A, B]: self.assertIn(i, n)