Пример #1
0
 def test_correctAddTwo(self):
     gr = Grammar()
     self.assertEqual(gr.terms_count(), 0)
     self.assertIsNone(gr.get_term(0))
     self.assertIsNone(gr.term(0))
     self.assertIsNone(gr.get_term('asdf'))
     self.assertIsNone(gr.term('asdf'))
     gr.add_term(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).s, 0)
     self.assertIsNone(gr.get_term('asdf'))
     self.assertIsNone(gr.term('asdf'))
     gr.add_term('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')
Пример #2
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'))
Пример #3
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))
Пример #4
0
 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))
Пример #5
0
 def test_correctAddOne(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))
     gr.add_term(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)
Пример #6
0
 def test_equalGetTermAndTermMethods(self):
     gr = Grammar()
     ins = TempClass()
     gr.add_term(ins)
     self.assertEqual(gr.terms_count(), 1)
     self.assertEqual(gr.get_term(ins).s, ins)
     self.assertEqual(gr.term(ins).s, ins)
     self.assertEqual(gr.term(ins).s, gr.get_term(ins).s)
Пример #7
0
 def test_correctAddOne(self):
     gr = Grammar()
     self.assertEqual(gr.terms_count(), 0)
     self.assertFalse(gr.have_nonterm(TempClass))
     self.assertIsNone(gr.get_nonterm(TempClass))
     self.assertIsNone(gr.nonterm(TempClass))
     gr.add_nonterm(TempClass)
     self.assertEqual(gr.nonterms_count(), 1)
     self.assertIsNotNone(gr.get_nonterm(TempClass))
     self.assertIsNotNone(gr.nonterm(TempClass))
     self.assertTrue(issubclass(gr.nonterm(TempClass), TempClass))
     self.assertEqual(hash(gr.nonterm(TempClass)), hash(TempClass))
Пример #8
0
 def test_oneSeparateTwoTuple(self):
     gr = Grammar()
     gr.add_term(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).s, 0)
     gr.add_term(('asdf', 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)
Пример #9
0
 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))
Пример #10
0
 def test_addInArray(self):
     gr = Grammar()
     gr.add_term([0, 'asdf', 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)
Пример #11
0
 def test_removeEmptyGrammar(self):
     gr = Grammar()
     self.assertEqual(gr.terms_count(), 0)
     gr.remove_term()
     self.assertEqual(gr.terms_count(), 0)