diff --git a/TEST.py b/TEST.py index 27cd670bfc00980b73881fce91d0946dccc141f6..748d42b8dd5390ef270889404b3d83395e2de166 100644 --- a/TEST.py +++ b/TEST.py @@ -26,9 +26,65 @@ class TestPreloading(TestCase): except IOError: print("File Not Found") + review = sentiment.preloading(raw_file) + average = 0 + number = 0 + average, number =sentiment.option1(review, 'arty') + self.assertEquals(number, 4) + + def test_number_20(self): + try: + with open("sentiment.txt") as file: + loading = file.read() + raw_file = loading.split('\n') + + except IOError: + print("File Not Found") + + review = sentiment.preloading(raw_file) + + average = 0 + number = 0 + average, number =sentiment.option1(review, 'scramble') + self.assertEquals(average, None) + + def test_number_22(self): + try: + with open("sentiment.txt") as file: + loading = file.read() + raw_file = loading.split('\n') + except IOError: + print("File Not Found") + + review = sentiment.preloading(raw_file) average = 0 number = 0 - average, number =sentiment.option1(raw_file, 'arty') - print(number) - self.assertEquals(number, 'None') + positive_word="The most positive word is \" None \" with a score of None\nThe most negative word is \" None \" with a score of None" + filename= 'positive.txt' + + print(positive_word) + print("here ") + + self.assertEquals((sentiment.file_score(review,filename)),(positive_word)) + + def test_number_24(self): + # examples.txt has a word called scramble that does not exist in the dictionary and should not be in any + # of the files + + try: + with open("sentiment.txt") as file: + loading = file.read() + raw_file = loading.split('\n') + + except IOError: + print("File Not Found") + + review = sentiment.preloading(raw_file) + filename= 'examples.txt' + positive,negative = sentiment.word_sorting(review,filename) + + positive2 = ['has', 'a', 'very', 'and', 'refreshing'] + negative2 = ['This', 'movie', 'bad', 'plot', 'terrible', 'ending', 'horrible'] + + self.assertEquals((positive, negative),(positive2 , negative2)) diff --git a/negative.txt b/negative.txt new file mode 100644 index 0000000000000000000000000000000000000000..77f26625233693f84d4a26613859bbd18512149d --- /dev/null +++ b/negative.txt @@ -0,0 +1,7 @@ +This +movie +bad +plot +terrible +ending +horrible \ No newline at end of file diff --git a/positive.txt b/positive.txt new file mode 100644 index 0000000000000000000000000000000000000000..b29c54d9192f05c44650e5f3b825876ff25a0457 --- /dev/null +++ b/positive.txt @@ -0,0 +1,5 @@ +has +a +very +and +refreshing \ No newline at end of file diff --git a/sentiment.py b/sentiment.py index 8db04d7dde0d7431c508c4cdc3345b9f9edfafa7..c4ae7b141ec890549225dfcdc3fbc5a9d6e1d1f9 100644 --- a/sentiment.py +++ b/sentiment.py @@ -23,11 +23,14 @@ def main(): average,number = option1(review,key) print("\nScore of \"",key,"\" appears",number," times with an average sentiment of ",average,"\n") elif choice is 2 : - average_score(review) + file_name = input("Enter file name : \n") + average_score(review, file_name) elif choice is 3: - file_score(review) + file_name = input("Enter file name : \n") + file_score(review,file_name) elif choice is 4: - word_sorting(review) + file_name = input("Enter file name : \n") + word_sorting(review,file_name) elif choice is 5 : print("Goodbye!") break @@ -95,8 +98,7 @@ def score_of_word(review,key): else: return None -def average_score(review): - file_name = input("Enter file name : \n") +def average_score(review, file_name): try: with open(file_name) as file: loading = file.read() @@ -122,8 +124,8 @@ def average_score(review): print("The overall sentiment of ",file_name," is positive.\n") -def file_score(review): - file_name = input("Enter file name : \n") +def file_score(review,file_name): + try: with open(file_name) as file: loading = file.read() @@ -143,19 +145,23 @@ def file_score(review): key = result[number] average= score_of_word(review, key) number += 1 - if(average<min): + if average is None: + max_word=None + min_word=None + min=None + max=None + elif(average<min): min=average min_word=key - if(average>max): + elif(average>max): max=average max_word=key - print("The most positive word is \"",max_word,"\" with a score of ", max) - print("The most negative word is \"",min_word,"\" with a score of ",min) + print("The most positive word is \"",max_word,"\" with a score of", max) + print("The most negative word is \"",min_word,"\" with a score of",min) -def word_sorting(review): - file_name = input("Enter file name : \n") +def word_sorting(review,file_name): try: with open(file_name) as file: loading = file.read() @@ -181,8 +187,7 @@ def word_sorting(review): number += 1 - print(positive) - print(negative) + with open('positive.txt','w') as file: positives = '\n'.join(positive) @@ -193,7 +198,7 @@ def word_sorting(review): file.write(negatives) - + return positive,negative