def test_addThreeInString(self): gr = Grammar(terminals='ABC') self.assertTrue(gr.have_term('A')) self.assertTrue(gr.have_term('B')) self.assertTrue(gr.have_term('C')) self.assertTrue(gr.have_term(('A', 'B', 'C'))) self.assertFalse(gr.have_term('D'))
def test_addThreeInTuple(self): gr = Grammar(terminals=('A', 'B', 'C')) self.assertTrue(gr.have_term('A')) self.assertTrue(gr.have_term('B')) self.assertTrue(gr.have_term('C')) self.assertTrue(gr.have_term(['A', 'B', 'C'])) self.assertFalse(gr.have_term('D'))
def test_removeTwoInTuple(self): gr = Grammar() gr.add_term([0, 'asdf', TempClass]) self.assertEqual(gr.terms_count(), 3) gr.remove_term((0, 'asdf')) self.assertEqual(gr.terms_count(), 1) self.assertTrue(gr.have_term(TempClass)) self.assertFalse(gr.have_term('asdf')) self.assertFalse(gr.have_term(0))
def test_removeAllWithoutParam(self): gr = Grammar() gr.add_term([0, 'asdf', TempClass]) self.assertEqual(gr.terms_count(), 3) gr.remove_term() self.assertEqual(gr.terms_count(), 0) self.assertFalse(gr.have_term(TempClass)) self.assertFalse(gr.have_term('asdf')) self.assertFalse(gr.have_term(0))
def test_addThreeOneDelete(self): gr = Grammar(terminals=('A', 'B', 'C')) self.assertTrue(gr.have_term('A')) self.assertTrue(gr.have_term('B')) self.assertTrue(gr.have_term('C')) self.assertTrue(gr.have_term(['A', 'B', 'C'])) self.assertFalse(gr.have_term('D')) gr.remove_term('B') self.assertTrue(gr.have_term('A')) self.assertFalse(gr.have_term('B')) self.assertTrue(gr.have_term('C')) self.assertTrue(gr.have_term(['A', 'C'])) self.assertFalse(gr.have_term('D'))
def test_add_remove_add_one(self): gr = Grammar() self.assertEqual(gr.terms_count(), 0) self.assertFalse(gr.have_term(0)) self.assertIsNone(gr.get_term(0)) self.assertIsNone(gr.term(0)) self.assertEqual(gr.add_term(0)[0].s, 0) self.assertEqual(gr.terms_count(), 1) self.assertIsNotNone(gr.get_term(0)) self.assertIsNotNone(gr.term(0)) self.assertTrue(isinstance(gr.term(0), Terminal)) self.assertEqual(gr.term(0).symbol(), 0) self.assertEqual(gr.remove_term(0)[0].s, 0) self.assertEqual(gr.terms_count(), 0) self.assertFalse(gr.have_term(0)) self.assertIsNone(gr.get_term(0)) self.assertIsNone(gr.term(0))
def test_addThreeRemoveTwoInArray(self): gr = Grammar() add = gr.add_term([0, 'asdf', TempClass]) self.assertEqual(add[0].s, 0) self.assertEqual(add[1].s, 'asdf') self.assertEqual(add[2].s, TempClass) self.assertEqual(gr.terms_count(), 3) self.assertIsNotNone(gr.get_term(0)) self.assertIsNotNone(gr.term(0)) self.assertTrue(isinstance(gr.term(0), Terminal)) self.assertEqual(gr.term(0).s, 0) self.assertIsNotNone(gr.get_term('asdf')) self.assertIsNotNone(gr.term('asdf')) self.assertTrue(isinstance(gr.term('asdf'), Terminal)) self.assertEqual(gr.term('asdf').s, 'asdf') self.assertIsNotNone(gr.get_term(TempClass)) self.assertIsNotNone(gr.term(TempClass)) self.assertTrue(isinstance(gr.term(TempClass), Terminal)) self.assertEqual(gr.term(TempClass).s, TempClass) rem = gr.remove_term([0, 'asdf']) self.assertEqual(rem[0].s, 0) self.assertEqual(rem[1].s, 'asdf') self.assertEqual(gr.terms_count(), 1) self.assertTrue(gr.have_term(TempClass)) self.assertFalse(gr.have_term(0)) self.assertFalse(gr.have_term('asdf')) self.assertEqual(gr.add_term(0)[0].s, 0) self.assertEqual(gr.terms_count(), 2) self.assertTrue(gr.have_term(TempClass)) self.assertTrue(gr.have_term(0)) self.assertFalse(gr.have_term('asdf'))
def test_addTwoRemoveOneAndAddThird(self): gr = Grammar() self.assertEqual(gr.add_term(0)[0].s, 0) self.assertEqual(gr.add_term('asdf')[0].s, 'asdf') self.assertEqual(gr.terms_count(), 2) self.assertIsNotNone(gr.get_term(0)) self.assertIsNotNone(gr.term(0)) self.assertTrue(isinstance(gr.term(0), Terminal)) self.assertEqual(gr.term(0).s, 0) self.assertIsNotNone(gr.get_term('asdf')) self.assertIsNotNone(gr.term('asdf')) self.assertTrue(isinstance(gr.term('asdf'), Terminal)) self.assertEqual(gr.term('asdf').s, 'asdf') self.assertEqual(gr.remove_term('asdf')[0].s, 'asdf') self.assertEqual(gr.terms_count(), 1) self.assertIsNotNone(gr.get_term(0)) self.assertIsNotNone(gr.term(0)) self.assertTrue(isinstance(gr.term(0), Terminal)) self.assertEqual(gr.term(0).s, 0) self.assertEqual(gr.add_term(TempClass)[0].s, TempClass) self.assertEqual(gr.terms_count(), 2) self.assertTrue(gr.have_term(0)) self.assertFalse(gr.have_term('asdf')) self.assertTrue(gr.have_term(TempClass))
def test_haveTermTuple(self): gr = Grammar() gr.add_term([TempClass, 0, 'asdf']) self.assertTrue(gr.have_term((0, 'asdf')))
def test_addTwoInArray(self): gr = Grammar(terminals=['A', 0]) self.assertTrue(gr.have_term('A')) self.assertTrue(gr.have_term(0)) self.assertTrue(gr.have_term([0, 'A']))
def test_shouldAddOneTerminal(self): g = Grammar(terminals=['asdf']) self.assertTrue(g.have_term('asdf')) self.assertFalse(g.have_term('a'))
def test_dontHaveTermTuple(self): gr = Grammar() gr.add_term([TempClass, 0, 'asdf']) self.assertFalse(gr.have_term((TempClass, 'a')))
def test_shouldAddMoreTerminals(self): g = Grammar(terminals=[0, 1, 2]) self.assertTrue(g.have_term([0, 1, 2])) self.assertFalse(g.have_term('a')) self.assertFalse(g.have_term('asdf')) self.assertFalse(g.have_term(3))
def test_haveTermEmpty(self): gr = Grammar() self.assertFalse(gr.have_term(TempClass)) self.assertFalse(gr.have_term(1)) self.assertFalse(gr.have_term('asdf'))
def test_haveTermArray(self): gr = Grammar() gr.add_term([TempClass, 0, 'asdf']) self.assertTrue(gr.have_term([0, 'asdf']))
def test_haveNontermTuple(self): gr = Grammar() gr.add_term([TempClass, Second, Third]) self.assertTrue(gr.have_term((Third, TempClass)))
def test_addOneInArray(self): gr = Grammar(terminals=['A']) self.assertTrue(gr.have_term('A'))
def test_haveNontermArray(self): gr = Grammar() gr.add_term([TempClass, Second, Third]) self.assertTrue(gr.have_term([Second, TempClass]))
def test_addOneSeparate(self): gr = Grammar(terminals='A') self.assertTrue(gr.have_term('A'))
def test_dontHaveNontermTuple(self): gr = Grammar() gr.add_term([TempClass, Second]) self.assertFalse(gr.have_term((TempClass, Third)))
def test_haveTermClass(self): gr = Grammar() gr.add_term(TempClass) self.assertTrue(gr.have_term(TempClass))