Esempio n. 1
0
 def test_good_case3(self):
     s = r'''
     0 1 0
     0 2 -1
     1 2 -1
     2
     '''
     fsa = k2.str_to_fsa(s)
     self.assertTrue(k2.is_valid(fsa))
Esempio n. 2
0
 def test_good_case2(self):
     s = r'''
     0 1 0
     0 2 0
     2 3 -1
     3
     '''
     fsa = k2.str_to_fsa(s)
     self.assertTrue(k2.is_valid(fsa))
Esempio n. 3
0
 def test_bad_case2(self):
     # only kFinalSymbol arcs enter the final state
     s = r'''
     0 1 0
     0 2 1
     1 2 0
     2
     '''
     fsa = k2.str_to_fsa(s)
     self.assertFalse(k2.is_valid(fsa))
Esempio n. 4
0
 def test_good_cases1(self):
     # empty fsa is valid
     array_size = k2.IntArray2Size(0, 0)
     fsa = k2.Fsa.create_fsa_with_size(array_size)
     self.assertTrue(k2.is_valid(fsa))
Esempio n. 5
0
 def test_bad_case3(self):
     # `arc_indexes` and `arcs` in this state are not consistent
     arc_indexes = torch.IntTensor([0, 2, 2, 2])
     arcs = torch.IntTensor([[0, 1, 0], [0, 2, 1], [1, 2, 0]])
     fsa = k2.Fsa(arc_indexes, arcs)
     self.assertFalse(k2.is_valid(fsa))
Esempio n. 6
0
 def test_bad_case1(self):
     # fsa should contain at least two states
     array_size = k2.IntArray2Size(1, 0)
     fsa = k2.Fsa.create_fsa_with_size(array_size)
     self.assertFalse(k2.is_valid(fsa))