class TestSpellChecker(unittest.TestCase): def setUp(self): self.spellChecker = SpellChecker() self.spellChecker.load_words('spellwords.txt') def test_spell_checker(self): self.assertTrue(self.spellChecker.check_word('zygotic')) failed_words = self.spellChecker.check_words( 'zygotic mistasdas elementary') self.assertEquals(1, len(failed_words)) self.assertEquals('mistasdas', failed_words[0]) self.assertEquals( 0, len(self.spellChecker.check_words('our first correct sentence'))) # handle case sensitivity self.assertEquals( 0, len(self.spellChecker.check_words('Our first correct sentence'))) # handle full stop self.assertEquals( 0, len(self.spellChecker.check_words('Our first correct sentence.'))) failed_words = self.spellChecker.check_words( 'zygotic mistasdas spelllleeeing elementary') self.assertEquals(2, len(failed_words)) self.assertEquals('mistasdas', failed_words[0]) self.assertEquals('spelllleeeing', failed_words[1]) # fix the 21 issues of words not matching the dictionary self.assertEqual( 0, len(self.spellChecker.check_document('spellwords.txt')))
class TestSpellChecker(unittest.TestCase): def setUp(self): self.spellChecker = SpellChecker() self.spellChecker.load_words('spell.words') # making sure the file has 53751 lines def test_dictionary_of_words(self): self.assertTrue(len(self.spellChecker.words) == 53751) def test_spell_checker(self): # Check the list of profanities word # self.assertTrue(self.spellChecker.check_profanities(['f**k','shit'])) # Check the word to see if it's true or false (assert) self.assertTrue(self.spellChecker.check_word('zygotic')) self.assertFalse(self.spellChecker.check_word('mistasdas')) # Looking at the failed words dict, should be 1 words mispelled # which means the len = 1 self.assertTrue( len(self.spellChecker.check_words('zygotic mistasdas elementary')) == 1) # in below case, since everything's fine, failed words dict len = 0 self.assertTrue( len(self.spellChecker.check_words('our first correct sentence')) == 0) self.assertTrue( len(self.spellChecker.check_words('Our first correct sentence.')) == 0) # Updating the failed wrds dict manually failed_words = self.spellChecker.check_words( 'zygotic mistasdas spelllleeeing elementary') # failed_profanities = self.spellChecker.check_profanities('naruto') # print(failed_profanities) # self.assertTrue(failed_profanities not in ['f**k','shit']) # re-testing said dict self.assertTrue(len(failed_words) == 2) self.assertTrue(failed_words[0]['word'] == 'mistasdas') self.assertTrue(failed_words[0]['line'] == 1) self.assertEquals(9, failed_words[0]['pos']) self.assertEquals('spelling', failed_words[0]['type']) self.assertTrue(failed_words[1]['word'] == 'spelllleeeing') self.assertTrue(failed_words[1]['line'] == 1) self.assertTrue(failed_words[1]['pos'] == 19) self.assertEquals('spelling', failed_words[1]['type']) #self.assertEquals(0, # len(self.spellChecker.check_document('spell.words'))) failed_profane_words = self.spellChecker.check_document( 'profanity.txt') self.assertEquals(3, len(failed_profane_words)) self.assertEquals('profanity', failed_profane_words[0]['type'])
class TestSpellChecker(unittest.TestCase): def setUp(self): self.spellChecker = SpellChecker() self.spellChecker.load_words('spellwords.txt') def test_spell_checker(self): self.assertTrue(self.spellChecker.check_word('zygotic')) self.assertFalse( self.spellChecker.check_words('zygotic mistasdas elementary')) self.assertTrue( self.spellChecker.check_words('our first correct sentence')) self.assertTrue( self.spellChecker.check_words('Our first correct sentence')) self.assertTrue( self.spellChecker.check_words('Our first correct sentence.'))
class TestSpellChecker(unittest.TestCase): # this method is executed before each test method def setUp(self): self.spellChecker = SpellChecker() # instead of use the function to load one file # self.spellChecker.load_words('spell.words') # let's call the new function below to read all files in the specified folder 'dic' self.spellChecker.load_words_from_dir('dic/*.words') def test_dictionary_of_words(self): self.assertTrue(len(self.spellChecker.words) == 53751) # when changing the function load_words for load_words_from_dir # all the existing tests below should work in the same way, otherwise # the new function is not working def test_spell_checker(self): self.assertTrue(self.spellChecker.check_word('zygotic')) self.assertFalse(self.spellChecker.check_word('mistasdas')) self.assertTrue( len(self.spellChecker.check_words('zygotic mistasdas elementary')) == 1) self.assertTrue(len(self.spellChecker.check_words('our first correct sentence')) == 0) self.assertTrue(len(self.spellChecker.check_words('Our first correct sentence.')) == 0) failed_words = self.spellChecker.check_words('zygotic mistasdas spelllleeeing elementary') self.assertTrue(len(failed_words) == 2) self.assertTrue(failed_words[0]['word'] == 'mistasdas') self.assertTrue(failed_words[0]['line'] == 1) self.assertEqual(9, failed_words[0]['pos']) self.assertEqual('spelling', failed_words[0]['type']) self.assertTrue(failed_words[1]['word'] == 'spelllleeeing') self.assertTrue(failed_words[1]['line'] == 1) self.assertTrue(failed_words[1]['pos'] == 19) self.assertEqual('spelling', failed_words[1]['type']) #self.assertEquals(0, # len(self.spellChecker.check_document('spell.words'))) failed_profane_words = self.spellChecker.check_document('profanity.txt') self.assertEqual(3, len(failed_profane_words)) self.assertEqual('profanity', failed_profane_words[0]['type'])
class TestSpellChecker(unittest.TestCase): # this method is executed before each test method def setUp(self): self.spellChecker = SpellChecker() self.spellChecker.load_dir_words('dict/*.words') def test_dictionary_of_words(self): self.assertTrue(len(self.spellChecker.words) == 53751) def test_spell_checker(self): self.assertTrue(self.spellChecker.check_word('zygotic')) self.assertFalse(self.spellChecker.check_word('mistasdas')) self.assertTrue( len(self.spellChecker.check_words('zygotic mistasdas elementary')) == 1) self.assertTrue( len(self.spellChecker.check_words('our first correct sentence')) == 0) self.assertTrue( len(self.spellChecker.check_words('Our first correct sentence.')) == 0) failed_words = self.spellChecker.check_words( 'zygotic mistasdas spelllleeeing elementary') self.assertTrue(len(failed_words) == 2) self.assertTrue(failed_words[0]['word'] == 'mistasdas') self.assertTrue(failed_words[0]['line'] == 1) self.assertEqual(9, failed_words[0]['pos']) self.assertEqual('spelling', failed_words[0]['type']) self.assertTrue(failed_words[1]['word'] == 'spelllleeeing') self.assertTrue(failed_words[1]['line'] == 1) self.assertTrue(failed_words[1]['pos'] == 19) self.assertEqual('spelling', failed_words[1]['type']) failed_profane_words = self.spellChecker.check_document( 'profanity.txt') self.assertEqual(4, len(failed_profane_words)) self.assertEqual('profanity', failed_profane_words[0]['type'])
def load_dir_files(file_names): lines_dir = open(file_names).readlines() return list(map(lambda x: x.strip().lower(), lines_dir)) file_names = dir_files(directory) # contents = load_dir_files(file_names) for item in file_names: contents = load_dir_files(item) print('File Name: {0}'.format(item)) for index, line in enumerate(contents): # print(f"Line {index}: {line} {item}") # print() print('index {0}, Line: {1}'.format(index, line)) print() #print(load_dir_files(file_names[0]), "\n") if language == "English": sc.load_words('spell.words') for index, line in enumerate(contents): word_list = sc.check_words(line, index) if (len(word_list) != 0): print(word_list) print() else: sc.load_words('spanish.spell.words') for index, line in enumerate(contents): word_list = sc.check_words(line, index) if (len(word_list) != 0): print(word_list) print()