Skip to content

Commit f2440b9

Browse files
committed
added test case coverage
1 parent b5bf2aa commit f2440b9

3 files changed

Lines changed: 80 additions & 1 deletion

File tree

.coveragerc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
[run]
2-
omit = test/*
2+
omit =
3+
test/*
4+
setup.py

test/test_kp_exceptions.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
from collections import defaultdict
2+
from flashtext import KeywordProcessor
3+
import logging
4+
import unittest
5+
import pytest
6+
import json
7+
import re
8+
9+
logger = logging.getLogger(__name__)
10+
11+
12+
class TestKPExceptions(unittest.TestCase):
13+
def setUp(self):
14+
logger.info("Starting...")
15+
16+
def tearDown(self):
17+
logger.info("Ending.")
18+
19+
def test_iterator_NotImplementedError(self):
20+
keyword_processor = KeywordProcessor()
21+
keyword_processor.add_keyword('j2ee', 'Java')
22+
keyword_processor.add_keyword('colour', 'color')
23+
keyword_processor.get_all_keywords()
24+
with pytest.raises(NotImplementedError):
25+
for value in keyword_processor:
26+
pass
27+
28+
def test_add_keyword_file_missing(self):
29+
keyword_processor = KeywordProcessor()
30+
with pytest.raises(IOError):
31+
keyword_processor.add_keyword_from_file('missing_file')
32+
33+
def test_add_keyword_file_missing(self):
34+
keyword_processor = KeywordProcessor()
35+
keyword_dict = {
36+
"java": "java_2e",
37+
"product management": "product manager"
38+
}
39+
with pytest.raises(AttributeError):
40+
keyword_processor.add_keywords_from_dict(keyword_dict)
41+
42+
def test_empty_string(self):
43+
keyword_processor = KeywordProcessor()
44+
keyword_dict = {
45+
"java": "java_2e",
46+
"product management": "product manager"
47+
}
48+
self.assertEqual(keyword_processor.extract_keywords(""), [],
49+
"new_sentence don't match the expected result")
50+
self.assertEqual(keyword_processor.replace_keywords(""), "",
51+
"new_sentence don't match the expected result")
52+
53+
if __name__ == '__main__':
54+
unittest.main()

test/test_kp_term_in_kp.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,29 @@ def test_term_in_dictionary(self):
2929
self.assertEqual(keyword_processor['Test'],
3030
None,
3131
"get_keyword didn't return expected Keyword")
32+
self.assertTrue('colour' in keyword_processor,
33+
"get_keyword didn't return expected Keyword")
34+
self.assertFalse('Test' in keyword_processor,
35+
"get_keyword didn't return expected Keyword")
36+
37+
def test_term_in_dictionary_case_sensitive(self):
38+
keyword_processor = KeywordProcessor(case_sensitive=True)
39+
keyword_processor.add_keyword('j2ee', 'Java')
40+
keyword_processor.add_keyword('colour', 'color')
41+
keyword_processor.get_keyword('j2ee')
42+
self.assertEqual(keyword_processor.get_keyword('j2ee'),
43+
'Java',
44+
"get_keyword didn't return expected Keyword")
45+
self.assertEqual(keyword_processor['colour'],
46+
'color',
47+
"get_keyword didn't return expected Keyword")
48+
self.assertEqual(keyword_processor['J2ee'],
49+
None,
50+
"get_keyword didn't return expected Keyword")
51+
self.assertTrue('colour' in keyword_processor,
52+
"get_keyword didn't return expected Keyword")
53+
self.assertFalse('Colour' in keyword_processor,
54+
"get_keyword didn't return expected Keyword")
3255

3356

3457
if __name__ == '__main__':

0 commit comments

Comments
 (0)