alessandro trinca tornidor
feat: get_current_info_wordnet(True) now will preloads wordnet corpus
9fbe321
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() | |