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))
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))
def test_invalidRemoveInArray(self): gr = Grammar() with self.assertRaises(NotNonterminalException): gr.remove_nonterm([TempClass, "asdf"])
def test_invalidRemoveAfterCorrectAdd(self): gr = Grammar() gr.add_nonterm(TempClass) with self.assertRaises(NotNonterminalException): gr.remove_nonterm("asdf")
def test_invalidRemoveString(self): gr = Grammar() with self.assertRaises(NotNonterminalException): gr.remove_nonterm("string")
def test_invalidRemoveNumber(self): gr = Grammar() with self.assertRaises(NotNonterminalException): gr.remove_nonterm(0)
def test_removeEmptyGrammar(self): gr = Grammar() self.assertEqual(gr.nonterms_count(), 0) gr.remove_nonterm() self.assertEqual(gr.nonterms_count(), 0)