def test_ler_values(self): z = 'the cat sat on the matt' x = wer(z, z) y = ler(z.split(), z.split()) self.assertEqual(x, y) x = wer(z, z[::-1]) y = ler(z.split(), z[::-1].split()) self.assertEqual(x, y)
def test_unicode(self): test_wer = wer("my cat sat on the mat", "Meine Katze saß auf der Matte") self.assertIsInstance(test_wer, float) test_wer = wer("Meine Katze saß auf der Matte", "Meine Katze saß auf der Matte") self.assertEqual(test_wer, 0.0) test_wer = wer("🎉 🎉 🎉", "🎉 🎉 🎉") self.assertEqual(test_wer, 0.0) test_wer = wer("🎉 🎉 🎉 🎉", "🎉 🎉 ") self.assertEqual(test_wer, 0.5)
def test_string_empty(self): self.assertRaises(ZeroDivisionError, lambda: wer(' ', ' ')) # if gt has at least some char then self.assertEqual(wer(" _ ", " "), 1.0) self.assertEqual(wer(" _ ", " " * 5), 1.0)
def test_wer_values(self): test_cases = ['the', 'cat sat', 'on the matt'] for test in test_cases: self.assertEqual(wer(test, ''), 1.0)
def test_nonstr_fails(self): self.assertRaises(AttributeError, lambda: wer(['123', 123], [''])) self.assertRaises(AttributeError, lambda: wer(123, 123)) self.assertRaises(AttributeError, lambda: wer('123', 123)) self.assertRaises(AttributeError, lambda: wer(123, "123")) self.assertRaises(AttributeError, lambda: wer(10.5, "123"))
def test_longer_res(self): self.assertGreater(wer("cat", "the cat sat on"), 1.0)
def test_2_wrong_words(self): self.assertEqual(wer("the cat sat on", "my dog sat on"), 0.5)
def test_string_equality_whitespace(self): self.assertEqual(wer("the cat", " the cat "), 0)