Beispiel #1
0
 def test_init(self):
     '''Test method `init`.'''
     slist = _StateList()
     inits = _State.initial(StateID(1))
     slist.init(inits)
     self.assertEqual(slist.find_by_id(StateID(1)), inits)
     self.assertEqual(slist.find_by_mark(Mark(1, 1)), inits)
     self.assertEqual(list(slist.iter_after(inits)), [])
Beispiel #2
0
 def test_insert_middle(self):
     '''Test inserting in the middle.'''
     slist = _StateList()
     sta1 = _State.initial(StateID(1))
     slist.init(sta1)
     sta2 = _State(StateID(2), Sentence('', Mark(1, 1), Mark(2, 3)), None)
     slist.insert(sta1, sta2)
     sta3 = _State(StateID(3), Sentence('', Mark(2, 3), Mark(2, 10)), None)
     slist.insert(sta1, sta3)
     self.assertEqual(list(slist.iter_after(sta1)), [sta3, sta2])
Beispiel #3
0
 def test_find_by_mark(self):
     '''Test method `find_by_mark`.'''
     slist = _StateList()
     sta1 = _State.initial(StateID(1))
     slist.init(sta1)
     sta2 = _State(StateID(2), Sentence('', Mark(1, 1), Mark(2, 3)), None)
     slist.insert(sta1, sta2)
     sta3 = _State(StateID(3), Sentence('', Mark(2, 3), Mark(2, 10)), None)
     slist.insert(sta2, sta3)
     self.assertEqual(slist.find_by_mark(Mark(2, 4)), sta2)
     self.assertEqual(slist.find_by_mark(Mark(3, 1)), sta3)
Beispiel #4
0
 def test_remove_after(self):
     '''Test method `remove_after`.'''
     slist = _StateList()
     sta1 = _State.initial(StateID(1))
     slist.init(sta1)
     sta2 = _State(StateID(2), Sentence('', Mark(1, 1), Mark(2, 3)), None)
     slist.insert(sta1, sta2)
     sta3 = _State(StateID(3), Sentence('', Mark(2, 3), Mark(2, 10)), None)
     slist.insert(sta2, sta3)
     slist.remove_after(sta1)
     self.assertEqual(list(slist.iter_after(sta1)), [])