示例#1
0
 def test_removeAllWithoutParam(self):
     gr = Grammar()
     gr.add_nonterm([TempClass, Second, Third])
     self.assertEqual(gr.nonterms_count(), 3)
     gr.remove_nonterm()
     self.assertEqual(gr.nonterms_count(), 0)
     self.assertFalse(gr.have_nonterm(TempClass))
     self.assertFalse(gr.have_nonterm(Second))
     self.assertFalse(gr.have_nonterm(Third))
示例#2
0
 def test_removeTwoInTuple(self):
     gr = Grammar()
     gr.add_nonterm([TempClass, Second, Third])
     self.assertEqual(gr.nonterms_count(), 3)
     gr.remove_nonterm((Second, TempClass))
     self.assertEqual(gr.nonterms_count(), 1)
     self.assertFalse(gr.have_nonterm(TempClass))
     self.assertTrue(gr.have_nonterm(Third))
     self.assertFalse(gr.have_nonterm(Second))
 def test_addThreeRemoveTwoInArray(self):
     gr = Grammar()
     self.assertEqual(gr.add_nonterm([TempClass, Second, Third]),
                      [TempClass, Second, Third])
     self.assertEqual(gr.nonterms_count(), 3)
     self.assertIsNotNone(gr.get_nonterm(TempClass))
     self.assertIsNotNone(gr.nonterm(TempClass))
     self.assertEqual(gr.nonterm(TempClass), TempClass)
     self.assertIsNotNone(gr.get_nonterm(Second))
     self.assertIsNotNone(gr.nonterm(Second))
     self.assertEqual(gr.nonterm(Second), Second)
     self.assertIsNotNone(gr.get_nonterm(Third))
     self.assertIsNotNone(gr.nonterm(Third))
     self.assertEqual(gr.nonterm(Third), Third)
     self.assertEqual(gr.remove_nonterm([Third, TempClass]),
                      [Third, TempClass])
     self.assertEqual(gr.nonterms_count(), 1)
     self.assertTrue(gr.have_nonterm(Second))
     self.assertFalse(gr.have_nonterm(TempClass))
     self.assertFalse(gr.have_nonterm(Third))
     self.assertEqual(gr.add_nonterm(Third), [Third])
     self.assertEqual(gr.nonterms_count(), 2)
     self.assertIsNotNone(gr.nonterm(Second))
     self.assertEqual(gr.nonterm(Second), Second)
     self.assertIsNotNone(gr.get_nonterm(Second))
     self.assertIsNotNone(gr.nonterm(Third))
     self.assertEqual(gr.nonterm(Third), Third)
     self.assertIsNotNone(gr.get_nonterm(Third))
 def test_addTwoRemoveOneAndAddThird(self):
     gr = Grammar()
     self.assertEqual(gr.add_nonterm(TempClass), [TempClass])
     self.assertEqual(gr.add_nonterm(Second), [Second])
     self.assertEqual(gr.nonterms_count(), 2)
     self.assertIsNotNone(gr.get_nonterm(TempClass))
     self.assertIsNotNone(gr.nonterm(TempClass))
     self.assertEqual(gr.get_nonterm(TempClass), TempClass)
     self.assertIsNotNone(gr.get_nonterm(Second))
     self.assertIsNotNone(gr.nonterm(Second))
     self.assertEqual(gr.get_nonterm(Second), Second)
     self.assertEqual(gr.remove_nonterm(Second), [Second])
     self.assertEqual(gr.nonterms_count(), 1)
     self.assertIsNotNone(gr.get_nonterm(TempClass))
     self.assertIsNotNone(gr.nonterm(TempClass))
     self.assertEqual(gr.nonterm(TempClass), TempClass)
     self.assertIsNone(gr.get_nonterm(Second))
     self.assertEqual(gr.add_nonterm(Third), [Third])
     self.assertEqual(gr.nonterms_count(), 2)
     self.assertIsNotNone(gr.get_nonterm(TempClass))
     self.assertIsNotNone(gr.nonterm(TempClass))
     self.assertEqual(gr.get_nonterm(TempClass), TempClass)
     self.assertFalse(gr.have_nonterm(Second))
     self.assertIsNone(gr.nonterm(Second))
     self.assertIsNotNone(gr.get_nonterm(Third))
     self.assertIsNotNone(gr.nonterm(Third))
     self.assertEqual(gr.get_nonterm(Third), Third)
 def test_add_remove_add_one(self):
     gr = Grammar()
     self.assertEqual(gr.nonterms_count(), 0)
     self.assertFalse(gr.have_nonterm(TempClass))
     self.assertIsNone(gr.get_nonterm(TempClass))
     self.assertIsNone(gr.nonterm(TempClass))
     self.assertEqual(gr.add_nonterm(TempClass), [TempClass])
     self.assertEqual(gr.nonterms_count(), 1)
     self.assertIsNotNone(gr.get_nonterm(TempClass))
     self.assertIsNotNone(gr.nonterm(TempClass))
     self.assertEqual(gr.nonterm(TempClass), TempClass)
     self.assertEqual(gr.remove_nonterm(TempClass), [TempClass])
     self.assertEqual(gr.nonterms_count(), 0)
     self.assertFalse(gr.have_nonterm(TempClass))
     self.assertIsNone(gr.get_nonterm(TempClass))
     self.assertIsNone(gr.nonterm(TempClass))
示例#6
0
 def test_invalidRemoveInArray(self):
     gr = Grammar()
     with self.assertRaises(NotNonterminalException):
         gr.remove_nonterm([TempClass, "asdf"])
示例#7
0
 def test_invalidRemoveAfterCorrectAdd(self):
     gr = Grammar()
     gr.add_nonterm(TempClass)
     with self.assertRaises(NotNonterminalException):
         gr.remove_nonterm("asdf")
示例#8
0
 def test_invalidRemoveString(self):
     gr = Grammar()
     with self.assertRaises(NotNonterminalException):
         gr.remove_nonterm("string")
示例#9
0
 def test_invalidRemoveNumber(self):
     gr = Grammar()
     with self.assertRaises(NotNonterminalException):
         gr.remove_nonterm(0)
示例#10
0
 def test_removeEmptyGrammar(self):
     gr = Grammar()
     self.assertEqual(gr.nonterms_count(), 0)
     gr.remove_nonterm()
     self.assertEqual(gr.nonterms_count(), 0)