File size: 2,531 Bytes
e0b1feb 91172b4 e0b1feb 9fbe321 e0b1feb 9fbe321 e0b1feb 91172b4 |
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import json
import unittest
from tests import EVENTS_FOLDER
def assert_get_synsets_by_word_and_language(cls, q):
from my_ghost_writer.thesaurus import get_synsets_by_word_and_language
response = get_synsets_by_word_and_language(q, lang="eng")
cls.assertEqual(list(response.keys()), ['word', 'results'])
cls.assertEqual(response["word"], q)
cls.assertIsInstance(response["results"], list)
results = response["results"]
for result in results:
for k, v in result.items():
cls.assertIsInstance(k, str)
try:
if k == "definition":
cls.assertIsInstance(v, str)
else:
cls.assertIsInstance(v, list)
except AssertionError as ae:
print(k, v, ae)
for s in v:
cls.assertIsInstance(s, str)
with open(EVENTS_FOLDER / f"expected_get_synsets_by_word_and_language_{q}.json", "r") as src:
# json.dump(response, src, indent=4)
expected_response = json.load(src)
cls.assertEqual(response, expected_response)
class TestThesaurusWordnet(unittest.TestCase):
def test_get_current_info_wordnet(self):
from my_ghost_writer.thesaurus import get_current_info_wordnet
current_info = get_current_info_wordnet(False)
self.assertEqual(list(current_info.keys()), ['languages', 'version', 'preload_wordnet'])
languages = current_info["languages"]
self.assertIn("eng", languages)
self.assertIsInstance(languages, list)
self.assertFalse(current_info["preload_wordnet"])
self.assertIsInstance(current_info["version"], str)
self.assertGreaterEqual(len(languages), 1)
current_info = get_current_info_wordnet(True)
self.assertEqual(list(current_info.keys()), ['languages', 'version', 'preload_wordnet'])
languages = current_info["languages"]
self.assertIn("eng", languages)
self.assertIsInstance(languages, list)
self.assertTrue(current_info["preload_wordnet"])
self.assertIsInstance(current_info["version"], str)
self.assertGreaterEqual(len(languages), 1)
def test_get_synsets_by_word_and_language(self):
assert_get_synsets_by_word_and_language(self, "dog")
assert_get_synsets_by_word_and_language(self, "look")
assert_get_synsets_by_word_and_language(self, "power")
assert_get_synsets_by_word_and_language(self, "term")
if __name__ == '__main__':
unittest.main()
|