Ejemplo n.º 1
0
class TestSpellChecker(unittest.TestCase):
    def setUp(self):
        self.spellChecker = SpellChecker()
        self.spellChecker.load_words('spell.words')

    def test_spell_checker(self):
        self.assertTrue(len(self.spellChecker.words) >
                        50000)  #Checking the length of dictionary file
        self.assertTrue(self.spellChecker.check_word('misspell'))
        self.assertNotEqual([{
            'line': 1,
            'pos': 13,
            'word': 'the'
        }, {
            'line': 3,
            'pos': 8,
            'word': 'someone'
        }], self.spellChecker.check_document('spelling_bad.txt'))
        self.assertNotEqual([{
            'line': 3,
            'pos': 1,
            'word': 'whereas'
        }, {
            'line': 3,
            'pos': 5,
            'word': 'alright'
        }], self.spellChecker.check_document('spelling_ok.txt'))
Ejemplo n.º 2
0
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')))
Ejemplo n.º 3
0
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'])
Ejemplo n.º 4
0
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.'))
Ejemplo n.º 5
0
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()