Example #1
0
 def test_create_state(self):
     table = KgenTable(3)
     new_state = table.create_state(1, PE('m'))
     self.assertEqual(2, new_state)
     self.assertEqual(2, len(table))
     self.assertEqual([], table[1].context)
     self.assertEqual([PE('m')], table[2].context)
Example #2
0
def build_pair_table(lexseg, surseg, padding=0):
    columns = PEmap(padding=padding, any_column=False)
    for i in range(len(lexseg)):
        lex = lexseg[i]
        sur = surseg[i]
        columns.add(PE(lex,sur))
    
    table = KgenTable(len(columns), padding=padding, any_column=False)
    for col_idx, _ in columns:
        table.add_transition(1, col_idx, 1)
    return columns, table
Example #3
0
 def test_add_transition(self):
     table = KgenTable(2)
     table.create_state(1, PE('m'))
     self.assertEqual(0, table[1,0])
     self.assertEqual(0, table[1,1])
     self.assertEqual(0, table[2,0])
     self.assertEqual(0, table[2,1])
     table.add_transition(1, 1, 2)
     self.assertEqual(0, table[1,0])
     self.assertEqual(2, table[1,1])
     self.assertEqual(0, table[2,0])
     self.assertEqual(0, table[2,1])
     table.add_transition(2, 0, 1)
     self.assertEqual(0, table[1,0])
     self.assertEqual(2, table[1,1])
     self.assertEqual(1, table[2,0])
     self.assertEqual(0, table[2,1])
     self.assertEqual('1: 0 2 1\n2: 1 0 1\n', str(table))