forked from moyanj/cwordninja
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
41 lines (29 loc) · 1.45 KB
/
Copy pathtest.py
File metadata and controls
41 lines (29 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import unittest
import cwordninja as wordninja
class TestWordNinja(unittest.TestCase):
def test_simple(self):
self.assertEqual(list(wordninja.split("derekanderson")), ["derek", "anderson"])
def test_with_underscores_etc(self):
self.assertEqual(list(wordninja.split("derek anderson")), ["derek", "anderson"])
self.assertEqual(list(wordninja.split("derek-anderson")), ["derek", "anderson"])
self.assertEqual(list(wordninja.split("derek_anderson")), ["derek", "anderson"])
self.assertEqual(list(wordninja.split("derek/anderson")), ["derek", "anderson"])
def test_caps(self):
self.assertEqual(list(wordninja.split("DEREKANDERSON")), ["DEREK", "ANDERSON"])
def test_digits(self):
self.assertEqual(list(wordninja.split("win32intel")), ["win", "32", "intel"])
def test_apostrophes(self):
self.assertEqual(
list(wordninja.split("that'sthesheriff'sbadge")),
["that's", "the", "sheriff's", "badge"],
)
def test_custom_model(self):
lm = wordninja.LanguageModel("test_lang.txt.gz")
self.assertEqual(list(lm.split("derek")), ["der", "ek"])
def test_custom_model_raw(self):
lm = wordninja.LanguageModel("test_lang.txt")
self.assertEqual(list(lm.split("derek")), ["der", "ek"])
def test_lsplit(self):
self.assertEqual(wordninja.lsplit("derekanderson"), ["derek", "anderson"])
if __name__ == "__main__":
unittest.main()