Ejemplo n.º 1
0
    def test_nfa(self):
        t1,t2,t3,t4,t5,t6,t7,t8,t9 = self.get_input_cases()
        nfa1 = re.postfix_to_nfa(re.postfix(t1))
        nfa2 = re.postfix_to_nfa(re.postfix(t2))
        nfa3 = re.postfix_to_nfa(re.postfix(t3))
        nfa4 = re.postfix_to_nfa(re.postfix(t4))
        nfa5 = re.postfix_to_nfa(re.postfix(t5))

        self.assertEquals(len(nfa1.get_accept_states()), 1)
        self.assertEquals(len(nfa2.get_accept_states()), 2)
        self.assertEquals(len(nfa3.get_accept_states()), 1)
        self.assertEquals(len(nfa4.get_accept_states()), 1)
        self.assertEquals(len(nfa5.get_accept_states()), 1)
Ejemplo n.º 2
0
 def test_postfix(self):
     t1,t2,t3,t4,t5,t6,t7,t8,t9 = self.get_input_cases()
     self.assertEquals(re.postfix(t1), "ab&")
     self.assertEquals(re.postfix(t2), "ab|")
     self.assertEquals(re.postfix(t3), "ab|a+&")
     self.assertEquals(re.postfix(t4), "ab|*cd&&")
     self.assertEquals(re.postfix(t5), "ab|*fo\+&&&")
     self.assertEquals(re.postfix(t6), "\w\w\s[+*]?[5-9]&&&&")
     self.assertEquals(re.postfix(t7), "ab|+@vic\\.ca&com&&|&&&&&&")
     self.assertEquals(re.postfix(t8), "abc&&def&&+&")
     self.assertEquals(re.postfix(t9), "^ab&{3,5}$&&")