def test_oov(self):
     tx = Trie()
     tx.add('')
     tx.add('a')
     ty = Trie()
     ty.add('b')
     ty.add('')
     ep = EditProbability(Alphabet(tx), Alphabet(ty))
     self.assertAlmostEqual(ep.score('a', 'bc'), 0)
 def test_score(self):
     tx = Trie()
     tx.add('')
     tx.add('a')
     ty = Trie()
     ty.add('b')
     ty.add('c')
     ty.add('bc')
     ty.add('')
     ep = EditProbability(Alphabet(tx), Alphabet(ty))
     ep.probs['a', ''] = 0.5
     ep.probs['', 'b'] = 0.4
     ep.probs['', 'c'] = 0.3
     ep.probs['a', 'b'] = 0.2
     ep.probs['', 'bc'] = 0.1
     ep.probs['a', 'bc'] = 0.0
     ep.probs['a', 'c'] = 0.0
     self.assertAlmostEqual(ep.score('a', 'bc'), 0.34)